O funkcjach Lambda
Funkcje Lambda w Pythonie są bezimienne i anonimowe, które można użyć do tworzenia wyrażeń, które zwracają jakąś wartość na podstawie obliczeń zaimplementowanych w samym wyrażeniu. Logika w tych funkcjach lambda można zapisać w zwięzły sposób, zwykle coś, co łatwo pasuje do jednego wiersza. Czasami mogą być trudne do odczytania, zwłaszcza jeśli ludzie nie są dobrze zaznajomieni z funkcjami Lambda. Jednak mają tę zaletę, że utrzymują rzeczy razem w blokach kodu i pomagają lepiej zrozumieć kontekst.
Składnia funkcji Lambda
Składnia funkcji Lambda w Pythonie wygląda tak:
pomnóż = lambda x, y: x * yPierwsza część wyrażenia Lambda, tuż przed dwukropkiem (:) symbol, przyjmuje parametry jako argumenty. Druga część, po symbolu okrężnicy, musi być wartością zwrotną. Ta wartość zwracana może być również wyrażeniem z logiką. W rzeczywistości funkcje Lambda są używane prawie cały czas do wdrożenia logiki na dostarczonych argumentach, a następnie zwrócić końcowy wynik.
Aby przetestować funkcję Lambda podaną powyżej, możesz użyć następującej instrukcji:
wydrukuj (pomnóż (3, 4))Powinieneś uzyskać następujące dane wyjściowe:
12Ta sama funkcja Lambda byłaby napisana w następujący sposób:
def pomnóż (x, y):Obie próbki kodu dają to samo wyjście. Niektóre przykłady funkcji Lambda wyjaśniono poniżej.
Przekazuj funkcje lambda jako argumenty
Możesz użyć funkcji Lambda do wykonywania obliczeń i dostarczenia wartości zwracanej jako argumentów do innych funkcji. Metoda sortowania w Python bierze argument „kluczowy”, w którym można określić funkcję, która przyjmuje pojedynczy argument do sortowania. Zamiast najpierw zdefiniować osobną funkcję, która zwraca klucz, a następnie podać odniesienie funkcji do argumentu, możesz po prostu użyć funkcji Lambda.
owoce = [(2, „jabłka”), (4, „pomarańcze”), (3, „banany”)]Kod powyżej wytworzy następujące dane wyjściowe:
[(2, „jabłka”), (3, „banany”), (4, „pomarańcze”)]Możesz użyć Lambda w dowolnej takiej metodzie, która przyjmuje funkcję podlegającą mianowicie jako argument (na przykład metoda filtra).
Użyj funkcji Lambda na Listach Rozumie
Możesz użyć Lambda na List Rozumianie, a lista zostanie należycie utworzona z wartości zwróconych przez wyrażenie Lambda.
get_square = lambda a: a * aTo wytworzy następujące dane wyjściowe:
[0, 1, 4, 9, 16]Powyższą próbkę kodu można również zapisać w następujący sposób, w którym „x” jest dostarczany do funkcji Lambda jako argument:
kwadraty = [(Lambda x: x * x) (x) dla x w zakresie (5)]Ten przykład po prostu ilustruje użycie funkcji Lambda na List Rozumianie. W przeciwnym razie możesz łatwo obliczyć kwadraty za pomocą minimalnej instrukcji rozumienia listy:
Drukuj ([x * x dla x w zakresie (5)])Użyj funkcji Lambda w Python Dictionaries
Poniższa próbka kodu ilustruje funkcje Lambda używane w parach kluczowych w słowniku Python. Po zdefiniowaniu możesz wywołać te funkcje w dowolnym momencie.
Oblicz = „sum”: lambda a, b: a + b, „różnica”: lambda a, b: a - bPowinieneś uzyskać następujące dane wyjściowe po uruchomieniu powyższego kodu:
9Wniosek
Funkcje Lambda zapewniają doskonały sposób pisania wyrażeń skrótów i utrzymywania sytuacji i zorganizowania bez konieczności tworzenia wielu nazwanych funkcji. Jednak nadużywanie funkcji Lambda może utrudnić kod do odczytania, szczególnie gdy kod jest poszukiwany przez więcej niż jedną osobę. Lepiej jest mieć bardziej czytelny kod (nawet jeśli jest to pełne) niż posiadanie czegoś, co może być nieco trudne do zrozumienia w zakres.