Lambda w Pythonie
- Poprzednia strona Funkcje w Pythonie
- Następna strona Tablice w Pythonie
Lambda funkcje są małymi anonimowymi funkcjami.
Lambda funkcje mogą przyjmować dowolną liczbę argumentów, ale mogą mieć tylko jedną wyrażenie.
Gramatyka
lambda arguments : expression
Wykonaj wyrażenie i zwróć wynik:
Przykład
Lambda funkcja, która dodaje 10 do liczby przekazanej jako argument, a następnie wypisuje wynik:
x = lambda a : a + 10 print(x(5))
Lambda funkcje mogą przyjmować dowolną liczbę parametrów:
Przykład
Lambda funkcja, która mnoży parametry a i b i drukuje wynik:
x = lambda a, b : a * b print(x(5, 6))
Przykład
Lambda funkcja, która dodaje parametry a, b i c i drukuje wynik:
x = lambda a, b, c : a + b + c print(x(5, 6, 2))
Dlaczego używać funkcji lambda?
Kiedy używasz lambda jako anonimowej funkcji wewnątrz innej funkcji, lepiej widać potęgę lambda.
Załóżmy, że masz definicję funkcji z jednym parametrem, który będzie mnożony przez nieznany liczby:
def myfunc(n): return lambda a : a * n
Używając tej definicji funkcji, można utworzyć funkcję, która zawsze podwaja wysyłane liczby:
Przykład
def myfunc(n): return lambda a : a * n mydoubler = myfunc(2) print(mydoubler(11))
Albo, używając tej samej definicji funkcji, można utworzyć funkcję, która zawsze zwiększa wysyłane liczby o trzy razy:
Przykład
def myfunc(n): return lambda a : a * n mytripler = myfunc(3) print(mytripler(11))
Albo, używając tej samej definicji funkcji w tym samym programie, można utworzyć dwie funkcje:
Przykład
def myfunc(n): return lambda a : a * n mydoubler = myfunc(2) mytripler = myfunc(3) print(mydoubler(11)) print(mytripler(11))
Jeśli potrzebujesz funkcji anonimowej w krótkim czasie, użyj funkcji lambda.
- Poprzednia strona Funkcje w Pythonie
- Następna strona Tablice w Pythonie