Лучшая практика для 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, исключение возбуждается?

Ответы на вопрос(13)

Ваш ответ на вопрос