gpt4 book ai didi

python - Python中的 "assert"有什么用?

转载 作者:IT老高 更新时间:2023-10-28 11:58:52 28 4
gpt4 key购买 nike

assert 是什么意思?它是如何使用的?

最佳答案

assert 语句几乎存在于所有编程语言中。它有两个主要用途:

  1. 它有助于在程序早期发现问题,原因很明确,而不是稍后在其他操作失败时检测。例如,Python 中的类型错误如果没有及早发现,可能会在实际引发 Exception 之前经过几层代码。

  2. 它作为其他开发人员阅读代码的文档,他们看到 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/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com