1

我在 Mac OS (10.7.6) 上使用 Spyder 2.2.0dev,正如它在启动时所说,它使用 Python 2.7.3(默认,2012 年 7 月 24 日,20:20:13)。当我输入

assert False

这应该会引发 AssertionError,就像在我的正常 Python 安装中一样。但是,在 Spyder(ipyton 和内部控制台)中,它不会引发任何错误。这必须在某个地方打开吗?或者这是一个错误?

4

1 回答 1

2

-O使用选项调用 python 时会跳过断言。我对 spyder 不熟悉,但我敢冒险,某些选项会导致你的 python 运行“优化”

因为断言并不总是运行,所以它们不适合程序流。如果您希望您的程序因为某个条件失败而在某个点停止,请在套件内引发一个有意义的异常。if

if False:
    raise ValueError("expected True, received", False)
于 2012-10-10T12:49:42.347 回答