bookmate game

Бейдер Д.

  • Агеев Максимhas quoted2 years ago
    assert представляет собой средство отладки, которое проверяет условие. Если условие утверждения assert истинно, то ничего не происходит и ваша программа продолжает выполняться как обычно. Но если же вычисление условия дает результат ложно, то вызывается исключение AssertionError с необязательным сообщением об ошибке
  • Агеев Максимhas quoted2 years ago
    def apply_discount(product, discount):

    price = int(product['цена'] * (1.0 — discount))

    assert 0 <= price <= product['цена']

    return price
  • Агеев Максимhas quoted2 years ago
    Это значительно ускорит отладку и в дальнейшем сделает ваши программы удобнее в поддержке.
  • Агеев Максимhas quoted2 years ago
    Дело в том, что инструкция assert предназначена для того, чтобы сообщать разработчикам о неустранимых ошибках в программе. Инструкция assert не предназначена для того, чтобы сигнализировать об ожидаемых ошибочных условиях
  • Агеев Максимhas quoted2 years ago
    Инструкции призваны быть внутренними самопроверками (internal self-checks) вашей программы. Они работают путем объявления неких условий, возникновение которых в вашем исходном коде невозможно.
  • Агеев Максимhas quoted2 years ago
    Если ваша программа бездефектна, то эти условия никогда не возникнут. Но если же они возникают, то программа завершится аварийно с исключением AssertionError, говорящим, какое именно «невозможное» условие было вызвано.
  • Агеев Максимhas quoted2 years ago
    Цель использования инструкции assert состоит в том, чтобы позволить разработчикам как можно скорее найти вероятную первопричину ошибки. Если в вашей программе ошибки нет, то исключение AssertionError никогда не должно возникнуть.
  • Агеев Максимhas quoted2 years ago
    инструкция_assert ::= "assert" выражение1 ["," выражение2]
  • Агеев Максимhas quoted2 years ago
    Синтаксис инструкции Python assert
  • Агеев Максимhas quoted2 years ago
    if __debug__:

    if not выражение1:

    raise AssertionError(выражение2)
fb2epub
Drag & drop your files (not more than 5 at once)