W tym artykule dowiemy się o asercji w Pythonie za pomocą assert.
Co to jest asercja?
Asercje to stwierdzenia, które potwierdzają lub stwierdzają pewien fakt w programie. Na przykład, pisząc funkcję dzielenia, masz pewność, że dzielnik nie powinien wynosić zero, twierdzisz, że dzielnik nie jest równy zero.
Asercje to po prostu wyrażenia boolowskie, które sprawdzają, czy warunki zwracają prawdę, czy nie. Jeśli to prawda, program nic nie robi i przechodzi do następnego wiersza kodu. Jeśli jednak jest fałszywa, program zatrzymuje się i zgłasza błąd.
Jest to również narzędzie do debugowania, ponieważ zatrzymuje program, gdy tylko wystąpi błąd i pokazuje, w którym miejscu wystąpił błąd.
Możemy to wyjaśnić, patrząc na poniższy schemat blokowy:

Instrukcja Pythona assert
Python ma wbudowaną assertinstrukcję do używania warunku asercji w programie. assertinstrukcja zawiera warunek lub wyrażenie, które powinno być zawsze prawdziwe. Jeśli warunek jest fałszywy, assert zatrzymuje program i zwraca AssertionError.
Składnia użycia Assert w Pyhton:
zapewniać
twierdzić,
W Pythonie możemy użyć assertinstrukcji na dwa sposoby, jak wspomniano powyżej.
assertinstrukcja ma warunek i jeśli warunek nie zostanie spełniony, program zatrzyma się i daAssertionError.assertinstrukcja może również zawierać warunek i opcjonalny komunikat o błędzie. Jeśli warunek nie jest spełniony, assert zatrzymuje program i podajeAssertionErrorwraz z komunikatem o błędzie.
Weźmy przykład, w którym mamy funkcję, która obliczy średnią wartości przekazanych przez użytkownika, a wartość nie powinna być pustą listą. Użyjemy assertinstrukcji do sprawdzenia parametru i jeśli długość przekazanej listy wynosi zero, program zatrzymuje się.
Przykład 1: użycie assert bez komunikatu o błędzie
def avg(marks): assert len(marks) != 0 return sum(marks)/len(marks) mark1 = () print("Average of mark1:",avg(mark1))
Kiedy uruchomimy powyższy program, wynik będzie:
AssertionError
Otrzymaliśmy błąd, gdy przekazaliśmy pustą listę mark1 do assertinstrukcji, warunek stał się fałszywy i assert zatrzymuje program i daje AssertionError.
Teraz podajmy kolejną listę, która spełni assertwarunek i zobaczmy, co będzie wynikiem.
Przykład 2: Używanie assert z komunikatem o błędzie
def avg(marks): assert len(marks) != 0,"List is empty." return sum(marks)/len(marks) mark2 = (55,88,78,90,79) print("Average of mark2:",avg(mark2)) mark1 = () print("Average of mark1:",avg(mark1))
Kiedy uruchomimy powyższy program, wynik będzie:
Średnia z mark2: 78.0 AssertionError: Lista jest pusta.
Przekazaliśmy do funkcji niepustą listę mark2, a także pustą listę mark1 avg()i otrzymaliśmy wynik dla listy mark2, ale po tym wystąpił błąd AssertionError: List is empty. assertWarunek został spełniony przez liście Mark2 i program do dalszego biegu. Jednak mark1 nie spełnia warunku i zwraca AssertionError.
Kluczowe punkty do zapamiętania
- Asercje to warunek lub wyrażenie boolowskie, które w kodzie zawsze powinno być prawdziwe.
assertinstrukcja przyjmuje wyrażenie i opcjonalną wiadomość.assertinstrukcja służy do sprawdzania typów, wartości argumentów i danych wyjściowych funkcji.assertInstrukcja jest używana jako narzędzie do debugowania, ponieważ zatrzymuje program w momencie wystąpienia błędu.








