@Razer1511

В чём преимущество assert перед циклом if-else?

Добрый день. Наверняка это самый глупый и самый простой вопрос в вашей жизни, но ответьте мне пожалуйста на него.
По работе часто нужно сравнивать между собой элементы, поэтому я решил начать с создания функции. В чём преимущество assert перед обычным циклом ?

def equal_assert(x, y, true_message, fail_message):
    try:
        assert x == y
        print(true_message)
    except AssertionError:
        print(fail_message)


def equal_if(x, y, true_message, fail_message):
    if x == y:
        print(true_message)
    else:
        print(fail_message)
  • Вопрос задан
  • 413 просмотров
Решения вопроса 1
@bbkmzzzz
assert - только для отладки. Он не заменяtт ничего, если запустить интерпретатор с флагом -о, - assert вообще игнорируется. Так что не стоит использовать его ни для чего, кроме целей отладки. Он не заменит ни циклы, ни if-else
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@dooMoob
Ни в чем. Писать такие конструкции - равно быть проклинаемым до 3 колена на протяжении цикла жизни кода

try:
    assert x == y
    print(true_message)
except AssertionError:
    print(fail_message)

Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы