Лучшая практика для Python Assert
Есть ли проблемы с производительностью или поддержкой кода при использованииassert
как часть стандартного кода вместо того, чтобы использовать его только для целей отладки?
Является
assert x >= 0, 'x is less than zero'
лучше или хуже чем
if x < 0:
raise Exception, 'x is less than zero'
Кроме того, есть ли способ установить бизнес-правило, какif x < 0 raise error
это всегда проверяется безtry/except/finally
так что, если в любое время по всему кодуx
меньше 0, возникает ошибка, как если бы вы установилиassert x < 0
в начале функции, в любом месте функции, гдеx
становится меньше 0, исключение возбуждается?