我在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和内部控制台)中它不会引发任何错误。这是否必须在某处开启?或者这是一个错误吗?
答案 0 :(得分:2)
-O
选项调用python时,会跳过断言。我不熟悉spyder,但我冒昧地说,有些选项导致你的python被运行"优化"
因为断言并不总是运行,所以它们不适合程序流程。如果您希望程序因特定条件失败而停在某一点,在if
套件中引发一个有意义的异常。
if False:
raise ValueError("expected True, received", False)