通常每一门编程语言都有自己断言语句,以方便出错调试,Python 自然也不例外。
Python 中的断言是 assert
,其格式如下:
assert expression [, arguments]
其中 expression
是必填的条件表达式,arguments
是可选参数,用于在断言被触发的时候输出相关信息。当 expression
值为 False
的时候将触发断言,中断程序,所以它和以下代码段的功能相似:
if not expression:
raise AssertionError()
不过需要注意的一点是,assert
在 Python 3 中只是声明,所以如果写成:
assert(False, "Error")
这种形式,断言将永远不会被触发。因为此时 assert
的 expression
参数是内容为 (.., ..)
的 Tuple
,而 Tuple
只有在内容为空的时候才会被判断为 False
。
所以正确的写法是:
>>> assert False, "Error"
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AssertionError: Error