Spyder IDE: почему не работает assert?
Я использую Spyder 2.2.0dev в Mac OS (10.7.6), которая, как сказано при запуске, использует Python 2.7.3 (по умолчанию, 24 июля 2012, 20:20:13). Когда я печатаю
assert False
это должно вызвать AssertionError, как это происходит в моей обычной установке Python. Однако в Spyder (как ipyton, так и внутренней консоли) это не вызывает никакой ошибки. Это должно быть где-то включено? Или это ошибка?
1 ответ
Утверждения пропускаются, когда Python вызывается с -O
опции. Я не знаком со spyder, но рискну, если какой-то вариант заставит ваш питон работать "оптимизировано"
Поскольку утверждения не всегда выполняются, они не подходят для выполнения программы. Если вы хотите, чтобы ваша программа остановилась в определенный момент из-за сбоя определенного условия, создайте значимое исключение внутри if
люкс.
if False:
raise ValueError("expected True, received", False)