Assert

Интро

Есть такая инструкция assert для проверки выражения на истинность: если проверка накрылась, возникает AssertionError + выводится кастомное сообщение (если указано).

Моменты

1. Assert можно полностью отключить

При запуске python скрипта с флагом -O (optimize) или под PYTHONOPTIMIZE=1 (непустым) все инструкции assert удаляются из кода. Вернее, они просто не попадают в .pyc файл при компиляции. Формально это ускоряет выполнение программы, так как код с проверками просто пропускается.

Именно поэтому assert НЕ должен использоваться для проверки пользовательского ввода или критичных ошибок - только для отладки и тестирования.

2. Assert удобно использовать в тестах

Популярный пакет pytest позволяет лаконично оформлять проверки с помощью assert.

17 марта 2026 г.