Python Lambda
Funkce lambda je malá anonymní funkce.
Funkce lambda může mít libovolný počet argumentů, ale může mít pouze jeden výraz.
Syntax
lambda arguments : expression
Výraz je proveden a výsledek je vrácen:
Příklad
Přidejte 10 do argumentu a
a vraťte výsledek:
x = lambda a : a + 10
print(x(5))
Funkce lambda mohou mít libovolný počet argumentů:
Příklad
Vynásobte argument a
argumentem
b
a vraťte výsledek:
x = lambda a, b : a * b
print(x(5, 6))
Příklad
Shrňte argument a
,
b
a c
a vraťte výsledek:
x = lambda a, b, c : a + b + c
print(x(5, 6,
2))
Proč používat funkce Lambda?
Síla lambda se lépe ukáže, když je použijete jako anonymní funkci uvnitř jiné funkce.
Řekněme, že máte definici funkce, která má jeden argument a tento argument bude vynásoben neznámým číslem:
def myfunc(n):
return lambda a : a * n
Použijte tuto definici funkce k vytvoření funkce, která vždy zdvojnásobí číslo, které odešlete:
Příklad
def myfunc(n):
return lambda a : a * n
mydoubler = myfunc(2)
print(mydoubler(11))
Nebo použijte stejnou definici funkce k vytvoření funkce, která vždy ztrojnásobí zaslané číslo:
Příklad
def myfunc(n):
return lambda a : a * n
mytripler = myfunc(3)
print(mytripler(11))
Nebo použijte stejnou definici funkce k vytvoření obou funkcí ve stejném programu:
Příklad
def myfunc(n):
return lambda a : a * n
mydoubler = myfunc(2)
mytripler = myfunc(3)
print(mydoubler(11))
print(mytripler(11))
Použijte funkce lambda, když je na krátkou dobu vyžadována anonymní funkce.