Wprowadzenie instrukcji match
/case
w Pythonie 3.10 stanowiło znaczący krok w kierunku zwiększenia czytelności i efektywności kodu przy obsłudze wielokrotnych warunków. Ta konstrukcja, znana z innych języków programowania jako switch/case, pozwala na eleganckie porównywanie wartości zmiennej z wieloma wzorcami. W Pythonie instrukcja match
/case
idzie nawet o krok dalej, oferując zaawansowane dopasowanie wzorców, które może uwzględniać typy danych, zawartość kolekcji oraz wiele innych kryteriów. W tym artykule przyjrzymy się różnym przypadkom użycia instrukcji match
/case
w Pythonie, demonstrując jej elastyczność i moc.
Przykłady użycia match
/case
Poniżej przedstawiono przykłady kodu Pythona, ilustrujące różne sposoby wykorzystania instrukcji match
/case
.
# Przykład 1: Podstawowe użycie match/case
# Zmienna przechowująca typ dnia
dayType = "work"
# Proste dopasowanie wartości
match dayType:
case "work":
print("To jest dzień roboczy.")
case "weekend":
print("To jest weekend!")
case _:
print("Nieznany typ dnia.")
# Przykład 2: Dopasowanie z wzorcami
# Zmienna przechowująca wiek użytkownika
userAge = 25
# Dopasowanie z wykorzystaniem wzorców
match userAge:
case age if age < 18:
print("Niepełnoletni")
case age if age >= 18:
print("Pełnoletni")
# Przykład 3: Dopasowanie kolekcji
# Zmienna przechowująca koordynaty
coordinates = (5, 0)
# Dopasowanie elementów kolekcji
match coordinates:
case (0, 0):
print("Początek układu współrzędnych")
case (x, 0):
print(f"Na osi X, x = {x}")
case (0, y):
print(f"Na osi Y, y = {y}")
case (x, y):
print(f"Punkt ({x}, {y}) nie leży na żadnej z osi")
# Przykład 4: Dopasowanie z wykorzystaniem list
# Lista zawierająca kolory
colors = ["red", "green", "blue"]
# Dopasowanie z użyciem list
match colors:
case ["red", "green", "blue"]:
print("Podstawowe kolory")
case ["black", "white"]:
print("Skala szarości")
case _:
print("Inna kombinacja kolorów")
Podsumowanie
Instrukcja match
/case
w Pythonie oferuje programistom potężne narzędzie do obsługi wielu warunków w sposób bardziej zorganizowany i czytelny niż seria instrukcji if
/elif
/else
. Dzięki możliwościom dopasowania wzorców, takim jak sprawdzanie typów, dopasowywanie zawartości kolekcji czy korzystanie z warunków, instrukcja ta otwiera nowe możliwości w projektowaniu logiki aplikacji. Warto wykorzystać match
/case
w swoich projektach Pythona, aby kod był nie tylko efektywny, ale też łatwiejszy do zrozumienia i utrzymania.
Jeżeli chcesz przyśpieszyć swoją naukę tworzenia stron chciałbym polecić mój kurs Python od podstaw w którym nauczysz się tego języka od podstaw do zaawansowanych jego aspektów.