Python 断言
在 Python 中,除了使用 try 语句来处理程序运行中出现的异常,还可以使用断言(Assertions)也可以处理异常。
assert 语句
断言使用 assert
关键字,它的语法格式为:
assert Expression[, Arguments]
当它遇到一个断言语句,Python 解释器评估计算之后的表达式,希望是 True 值。如果表达式为 False,就会触发 AssertionError 异常。异常参数(Arguments)其实就是在断言表达式后添加字符串信息,用来解释断言并更好的知道是哪里出了问题。
理解断言的最简单的方法就是把它比作 raise-if 语句(更确切来说是 raise-if-not)。即对一个表达式进行测试,如果结果为 False,则触发异常。也就是说,assert expression 语句等价于:
if not expression:
raise AssertionError
如果断言失败,Python 使用 Arguments 作为 AssertionError 异常的参数。同样可以用 try-except 语句来捕获并处理 AssertionError 异常,但是如果没有处理 AssertionError,Python 将终止该程序并产生一个回溯。
assert 判断的是表达式,如果需要同时判断多个表达式,可以这样:
assert (expression1 and expression2), "prompt..."