Python assert断言 图片看不了?点击切换HTTP 返回上层
assert 断言语句和 if 分支有点类似,它用于对一个 bool 表达式进行断言,如果该 bool 表达式为 True,该程序可以继续向下执行;否则程序会引发 AssertionError 错误。
有读者可能会问,明明 assert 会令程序崩溃,为什么还要使用它呢?这是因为,与其让程序在晚些时候崩溃,不如在错误条件出现时,就直接让程序崩溃。通常,assert 语句用在检查函数参数的属性(是参数是否是按照设想的要求传入),或者作为初期测试和调试过程中的辅助工具。
例如如下程序:
assert 断言的执行逻辑是:
有读者可能会问,明明 assert 会令程序崩溃,为什么还要使用它呢?这是因为,与其让程序在晚些时候崩溃,不如在错误条件出现时,就直接让程序崩溃。通常,assert 语句用在检查函数参数的属性(是参数是否是按照设想的要求传入),或者作为初期测试和调试过程中的辅助工具。
例如如下程序:
s_age = input("请输入您的年龄:") age = int(s_age) assert 20 < age < 80 print("您输入的年龄在20和80之间")上面程序中,使用 asser 语句断言 age 必须位于 20 到 80 之间。运行上面程序,如果输入的 age 处于执行范围之内,则可看到如下运行过程:
请输入您的年龄:23
您输入的年龄在20和80之间
请输入您的年龄:1
Traceback (most recent call last):
File "C:\Users\mengma\Desktop\1.py", line 3, in <module>
assert 20 < age < 80
AssertionError
assert 断言的执行逻辑是:
if 表达式的值为 True:
程序继续运行;
else: # 表示式的值为 False
程序引发 AssertionError 错误