【发布时间】:2019-05-10 12:37:34
【问题描述】:
在 C/C++ 中,程序员可以通过源代码中的宏轻松启用/禁用断言语句。这可以在python中以类似的方式完成吗?
我知道可以使用 python 中的 -O 标志(大写 O)禁用断言。不过,我更喜欢在源代码中这样做。
我正在使用 python 3.7.3 和 Windows 10。
【问题讨论】:
标签: python python-3.x assert assertion
在 C/C++ 中,程序员可以通过源代码中的宏轻松启用/禁用断言语句。这可以在python中以类似的方式完成吗?
我知道可以使用 python 中的 -O 标志(大写 O)禁用断言。不过,我更喜欢在源代码中这样做。
我正在使用 python 3.7.3 和 Windows 10。
【问题讨论】:
标签: python python-3.x assert assertion
我认为在 Python 中没有可比的方法来实现这一点。 -O 标志将内置变量 __debug__ 设置为 False,但 Python 不允许在运行时更改它。
一种可能的解决方案是将您的断言封装在 if 语句中,使用全局变量来控制 assert 语句是否被执行,但我怀疑这是否是您正在寻找的答案。
有关该主题的更多信息,您可能需要查看this 对相关问题的回答。
【讨论】: