if语句有一个很有用的“亲戚”,其工作原理类似于下面的伪码:
if not condition:
crash program
问题是,为何要编写类似于这样的代码呢?因为让程序在错误条件出现时立即崩溃胜过以后再崩溃。基本上,可要求某些条件得到满足(如核实函数参数满足要求或为初始测试和调试提供帮助),为此可在语句中使用关键字assert。
age = 10
assert 0 < age < 100
age = -1
assert 0 < age < 100
输出如下所示:
Traceback (most recent call last):
File "<stdin>", line 1, in ?
AssertionError
如果知道必须满足特定条件,程序才能正确地运行,可在程序中添加assert语句充当检查点。
还可在条件后面添加一个字符串,对断言做出说明。
age = -1
assert 0 < age < 100, 'The age must be realistic'
输出如下所示:
Traceback (most recent call last):
File "<stdin>", line 1, in ?
AssertionError: The age must be realistic