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.