assert:断言

Posted qianslup

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了assert:断言相关的知识,希望对你有一定的参考价值。

一、基本语法

assert expression1, ["," expression2]

 

x, y = 1, 2
assert x == y, "not equal"

# 等价于下面的语法:
x, y = 1, 2
if __debug__ and not x == y:
    raise AssertionError("not equal")

当表达式为真时,程序继续往下执行;

当表达式为假时,抛出AssertionError错误。

技术图片

 

 

 

二、注意点

断言实际是被设计用来捕获用户所定义的约束的,而不是用来捕获程序本身错误的,

因此使用断言需要注意以下几点:

  • 不要滥用。若由于断言引发了异常,通常代表程序中存在 bug。因此断言应该使用在正常逻辑不可到达的地方或正常情况下总是为真的场合。

  • 如果 Python 本身的异常能够处理就不要再使用断言。
  • 不要使用断言来检查用户的输入。如对于一个数字类型,如果根据用户的设计该值的范围应该是 2~10,较好的做法是使用条件判断。

  • 在函数调用后,当需要确认返回值是否合理时可以使用断言。
  • 当条件是业务逻辑继续下去的先决条件时可以使用断言

 

以上是关于assert:断言的主要内容,如果未能解决你的问题,请参考以下文章

防御式编程之断言assert的使用

pytest 7 assert断言

Swift之:断言(Assertions)

SpringBoot - 使用Assert校验让业务代码更简洁

SpringBoot - 使用Assert校验让业务代码更简洁

Assert.assertEquals是啥含义