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)
Другие вопросы по тегам