Как ответили в режиме оптимизации Python :
python -O в настоящее время выполняет следующие действия:
- полностью игнорирует утверждения
- устанавливает специальное встроенное имя
__debug__
в False (по умолчанию True)
и когда вызывается как python -OO
- удаляет строки документов из кода
Не знаю, почему все забывают упомянуть проблему __debug__
; возможно, это потому, что я единственный, кто его использует :) Конструкция if __debug__
вообще не создает байт-кода при работе под -O
, и я считаю это очень полезным.