assert

Sprawdza założenie w kodzie i zgłasza AssertionError, gdy nie jest spełnione.

Na tej stronie

Przykład

#
Python
def average(values):
    assert len(values) > 0, "Lista nie może być pusta"
    return sum(values) / len(values)

print(average([80, 90]))

try:
    average([])
except AssertionError as error:
    print("AssertionError:", error)
Wynikzapisany wynik, możesz go sprawdzić
85.0
AssertionError: Lista nie może być pusta

Definicja i zastosowanie

#

Instrukcja assert warunek, komunikat sprawdza, czy warunek jest prawdziwy. Jeśli nie, zgłasza wyjątek AssertionError z podanym komunikatem. To sposób na zapisanie w kodzie założeń, które zawsze powinny być spełnione.

Asercje są podstawą testów w bibliotece pytest: każdy test to funkcja sprawdzająca wyniki przez assert.

Nie używaj assert do sprawdzania danych od użytkownika. Python uruchomiony z opcją optymalizacji (-O) pomija wszystkie asercje, więc taka walidacja mogłaby zniknąć. Do tego służą zwykłe warunki i raise.

Składnia

#
Składnia
assert warunek, "komunikat"

Dobre praktyki

#
  • Używaj assert w testach i do sprawdzania założeń programisty, a nie do walidacji danych wejściowych.
  • Komunikat asercji powinien mówić, jakie założenie zostało złamane.

Powiązane hasła

#

Widzisz błąd albo brakuje przykładu? Napisz do nas.