Operator walrusa, wprowadzony w Pythonie 3.8 jako :=
, pozwala na przypisanie wartości do zmiennej jako część wyrażenia. Dzięki temu można oszczędzić miejsce i czas, wykonując przypisanie i ewaluację wyrażenia w jednym kroku. To narzędzie szczególnie przydaje się w pętlach i instrukcjach warunkowych, gdzie można przypisać wartość do zmiennej i jednocześnie sprawdzić jej prawdziwość lub wartość. Przyjrzyjmy się przykładowi, który pokazuje, jak operator walrusa może ułatwić i skrócić kod.
Przykład użycia operatora walrusa
Rozważmy scenariusz, w którym musimy przefiltrować dane wejściowe i zachować tylko te, które spełniają określone kryterium długości. Chcemy również zliczyć, ile razy dane spełniły kryterium.
# Lista z przykładowymi danymi wejściowymi
input_data = ["python", "java", "c", "scala"]
# Zmienna do zliczania danych spełniających kryterium
matching_count = 0
# Lista na dane spełniające kryterium
matching_data = []
for data in input_data:
# Użycie operatora walrusa do przypisania długości
# stringa do zmiennej 'length' i jednoczesnej
# weryfikacji czy długość jest większa niż 2
if (length := len(data)) > 2:
matching_data.append(data)
matching_count += 1
# Wyświetlenie informacji o spełnieniu kryterium
print(f"Dane '{data}' spełniają kryterium (długość: {length}).")
# Wyświetlenie podsumowania
print(f"Liczba danych spełniających kryterium: {matching_count}.")
print(f"Dane spełniające kryterium: {matching_data}.")
W tym przykładzie operator walrusa :=
jest używany w instrukcji if
do przypisania długości aktualnie przetwarzanego stringa do zmiennej length
i jednoczesnej weryfikacji, czy długość ta jest większa niż 2. Dzięki temu możemy zapisać kod bardziej zwarto i uniknąć konieczności ponownego wywoływania funkcji len(data)
lub przechowywania tymczasowych wartości przed blokiem if
.
Podsumowanie
Operator walrusa jest potężnym narzędziem w Pythonie, które umożliwia bardziej ekspresyjne i skompresowane pisanie kodu. Przydaje się szczególnie w pętlach i instrukcjach warunkowych, gdzie można zminimalizować liczbę linii kodu, jednocześnie zachowując czytelność i efektywność. Jak pokazano w przykładzie, użycie :=
pozwala na przypisanie wartości i jej wykorzystanie bez konieczności rozdzielania tych operacji na dwie odrębne linie kodu, co czyni kod bardziej zrozumiałym i bezpośrednim.
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.