Jak operator walrusa może być przydatny w Pythonie?

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.

Scroll to Top