assert
是什么意思?它是如何使用的?
最佳答案
assert
语句几乎存在于所有编程语言中。它有两个主要用途:
它有助于在程序早期发现问题,原因很明确,而不是稍后在其他操作失败时检测。例如,Python 中的类型错误如果没有及早发现,可能会在实际引发
Exception
之前经过几层代码。它作为其他开发人员阅读代码的文档,他们看到
assert
并且可以自信地说它的条件从现在开始成立。
当你这样做时......
assert condition
...您告诉程序测试该条件,如果条件为假,则立即触发错误。
在Python中,大致等价于:
if not condition:
raise AssertionError()
在 Python shell 中尝试:
>>> assert True # nothing happens
>>> assert False
Traceback (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__
为False
,assert语句将被忽略。只需传递 -O
标志:
python -O script.py
见 here相关文件。
关于python - Python中的 "assert"有什么用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5142418/