Python assert 语句,又称断言语句,可以看做是功能缩小版的 if 语句,它用于判断某个表达式的值,如果值为真,则程序可以继续往下执行;反之,Python 解释器会报 AssertionError 错误。
assert 语句的语法结构为:
assert 表达式
assert 语句的执行流程可以用 if 判断语句表示,如下所示:
if 表达式==True: 程序继续执行 else: 程序报 AssertionError 错误
有读者可能会问,明明 assert 会令程序崩溃,为什么还要使用它呢?这是因为,与其让程序在晚些时候崩溃,不如在错误条件出现时,就直接让程序崩溃,这有利于我们对程序排错,提高程序的健壮性。
因此,assert 语句通常用于检查用户的输入是否符合规定,还经常用作程序初期测试和调试过程中的辅助工具。
下面的程序演示了 assert 语句的用法:
mathmark = int(input()) #断言数学考试分数是否位于正常范围内 assert 0 <= mathmark <= 100 #只有当 mathmark 位于 [0,100]范围内,程序才会继续执行 print("数学考试分数为:",mathmark)
运行该程序,测试数据如下:
90 数学考试分数为: 90
再次执行该程序,测试数据为:
159 Traceback (most recent call last): File "C:\Users\mengma\Desktop\file.py", line 3, in <module> assert 0 <= mathmark <= 100 AssertionError
可以看到,当 assert 语句后的表达式值为真时,程序继续执行;反之,程序停止执行,并报 AssertionError 错误。