assert 断言语句和 if 分支有点类似,它用于对一个 bool 表达式进行断言,如果该 bool 表达式为 True,该程序可以继续向下执行;否则程序会引发 AssertionError 错误。
有读者可能会问,明明 assert 会令程序崩溃,为什么还要使用它呢?这是因为,与其让程序在晚些时候崩溃,不如在错误条件出现时,就直接让程序崩溃。通常,assert 语句用在检查函数参数的属性(是参数是否是按照设想的要求传入),或者作为初期测试和调试过程中的辅助工具。
例如如下程序:
user_age = input("请输入您的年龄:")
age = int(user_age)
assert 20 < age < 80
print("您输入的年龄在20和80之间")
上面程序中,使用 asser 语句断言 age 必须位于 20 到 80 之间。运行上面程序,如果输入的 age 处于执行范围之内,则可看到如下运行过程:
如果输入的 age 不处于 20 到 80 之间,将可以看到如下运行过程:
从上面的运行过程可以看出,断言也可以对逻辑表达式进行判断,因此实际上断言也相当于一种特殊的分支。
assert 断言的执行逻辑是:
if 表达式的值为 True:
程序继续运行;
else: # 表示式的值为 False
程序引发 AssertionError 错误
WX : PWF96an