Jak używać instrukcji ‘assert’ w Pythonie?

W programowaniu, zwłaszcza podczas pisania złożonego oprogramowania, istotne jest, aby upewnić się, że różne części kodu działają zgodnie z oczekiwaniami. W Pythonie, jednym ze sposobów na weryfikację poprawności działania kodu jest użycie instrukcji assert. Ta instrukcja pozwala programiście testować, czy określone warunki są spełnione. Jeśli warunek przekazany do assert jest False, program zatrzyma się i zostanie zgłoszony wyjątek AssertionError, co może pomóc szybko zidentyfikować błędy w kodzie.

Przykład użycia assert

Załóżmy, że chcemy napisać funkcję, która sprawdza, czy podany numer telefonu jest poprawny. Numer uznajemy za poprawny, jeśli składa się z 9 cyfr. Użycie instrukcji assert pozwoli nam w prosty sposób zweryfikować, czy nasza funkcja działa prawidłowo.

def verify_phone_number(phone_number):
    # Sprawdzenie, czy długość numeru telefonu wynosi 9 cyfr
    assert len(phone_number) == 9, "Numer telefonu musi składać się z 9 cyfr"
    # Sprawdzenie, czy numer telefonu składa się tylko z cyfr
    assert phone_number.isdigit(), "Numer telefonu może zawierać tylko cyfry"
    return "Numer telefonu jest poprawny"

# Przykładowe użycie
print(verify_phone_number("123456789"))  # Numer telefonu jest poprawny
#print(verify_phone_number("12345678"))   # AssertionError: Numer telefonu musi składać się z 9 cyfr
#print(verify_phone_number("abcdefghi"))  # AssertionError: Numer telefonu może zawierać tylko cyfry

W powyższym przykładzie, używamy instrukcji assert do sprawdzenia, czy podany numer telefonu spełnia dwa kryteria: czy ma dokładnie 9 cyfr i czy składa się wyłącznie z cyfr. Jeśli którykolwiek z tych warunków nie jest spełniony, zostanie zgłoszony wyjątek AssertionError z odpowiednim komunikatem.

Kiedy używać assert?

Instrukcję assert najlepiej stosować w celu weryfikacji założeń wewnątrz kodu, które muszą być spełnione, aby program działał prawidłowo. Jest to szczególnie przydatne w fazie testowania i debugowania, gdyż pozwala szybko wykryć i zlokalizować błędy. Należy jednak pamiętać, że instrukcje assert mogą być pominięte podczas uruchamiania programu z optymalizacjami (flaga -O), dlatego nie powinny być używane do obsługi błędów, które mogą pojawić się w produkcji.

Podsumowanie

Instrukcja assert w Pythonie jest potężnym narzędziem, które pomaga weryfikować poprawność działania kodu poprzez testowanie założeń. Umożliwia szybkie wykrywanie błędów w fazie rozwoju oprogramowania, zwiększając jego niezawodność i bezpieczeństwo. Należy jednak stosować ją z rozwagą, mając na uwadze jej ograniczenia, zwłaszcza w kontekście kodu produkcyjnego.

Jeżeli chcesz przyśpieszyć swoją naukę tworzenia stron chciałbym polecić mój kurs video Python w którym nauczysz się tego języka od podstaw do zaawansowanych jego aspektów.

Scroll to Top