Spyder IDE:为什么断言不起作用?

时间:2012-10-10 12:35:01

标签: python spyder

我在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和内部控制台)中它不会引发任何错误。这是否必须在某处开启?或者这是一个错误吗?

1 个答案:

答案 0 :(得分:2)

当使用-O选项调用python时,会跳过

断言。我不熟悉spyder,但我冒昧地说,有些选项导致你的python被运行"优化"

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

if False:
    raise ValueError("expected True, received", False)