该
assert语句几乎存在于每种编程语言中。它有助于在程序中尽早发现问题,找出原因,而不是在其他操作后再发现问题。
当你做…
assert condition
…您正在告诉程序测试该条件,如果条件为假,则立即触发错误。
在Python中,它大致等同于此:
if not condition: raise AssertionError()
在Python Shell中尝试:
>>> assert True # nothing happens>>> assert FalseTraceback (most recent call last): File "<stdin>", line 1, in <module>AssertionError
断言可以包含可选消息,并且您可以在运行解释器时将其禁用。
要在断言失败时打印消息:
assert False, "Oh no! This assertion failed!"
千万 不能 使用括号调用
assert的功能等。这是一个声明。如果你这样做
assert(condition,message)你会运行
assert一个
(condition, message)元组的第一个参数。
至于禁用它们,
python在优化模式下运行
__debug__is时
False,assert语句将被忽略。只要通过
-O标志:
python -O script.py
有关相关文档,请参见此处。



