все Python 3Исключенияисключение
AssertionError
встроенные исключения
Условие оператора assert оказалось ложным: assert x > 0.
Синтаксис
raise AssertionError
assert — проверка собственных допущений, а не валидация пользовательского ввода: при запуске интерпретатора с флагом -O все assert выбрасываются из байткода, и проверка бесследно исчезает. Классическая ловушка — assert (x > 0, 'сообщение'): скобки превращают аргументы в непустой кортеж, который всегда истинен, поэтому такой assert не сработает никогда. Правильно писать без скобок: assert x > 0, 'сообщение'.
Примеры
try:
assert 1 == 2
except AssertionError as e:
print(type(e).__name__) # → AssertionError
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности