assert
Sprawdza założenie w kodzie i zgłasza AssertionError, gdy nie jest spełnione.
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
assertw 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.