Jak używać funkcji Lambda w Pythonie

Jak używać funkcji Lambda w Pythonie
W tym artykule wyjaśniono, jak korzystać z funkcji Lambda w Python. Funkcje Lambda mogą być używane do pisania zwięzłych liniowców, wdrażania logiki i szybkiego uzyskania wartości zwrotnych, które można zasilić do innych wyrażeń.

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 * y

Pierwsza 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:

12

Ta sama funkcja Lambda byłaby napisana w następujący sposób:

def pomnóż (x, y):
zwróć x * y
wydrukuj (pomnóż (3, 4))

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”)]
owoce.sort (key = Lambda Element: Element [0])
Drukuj (owoce)

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 * a
Squares = [get_square (x) dla x w zakresie (5)]
Drukuj (kwadraty)

To 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)]
Drukuj (kwadraty)

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 - b
drukuj (oblicz [„sum”] (4, 5))
druk (oblicz [„różnica”] (4, 5))

Powinieneś uzyskać następujące dane wyjściowe po uruchomieniu powyższego kodu:

9
-1

Wniosek

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.