Python Lambda
Een lambda-functie is een kleine anonieme functie.
Een lambda-functie kan een willekeurig aantal argumenten hebben, maar kan slechts één uitdrukking hebben.
Syntaxis
lambda arguments : expression
De expressie wordt uitgevoerd en het resultaat wordt geretourneerd:
Voorbeeld
Voeg 10 toe aan argument a
en retourneer het resultaat:
x = lambda a : a + 10
print(x(5))
Lambda-functies kunnen een willekeurig aantal argumenten aannemen:
Voorbeeld
Vermenigvuldig argument a
met argument
b
en retourneer het resultaat:
x = lambda a, b : a * b
print(x(5, 6))
Voorbeeld
Vat argument a
,
b
, en samen c
en retourneer het resultaat:
x = lambda a, b, c : a + b + c
print(x(5, 6,
2))
Waarom Lambda-functies gebruiken?
De kracht van lambda wordt beter getoond als je ze als anonieme functie binnen een andere functie gebruikt.
Stel dat u een functiedefinitie heeft waaraan één argument moet doorgegeven worden, en dat argument wordt vermenigvuldigd met een onbekend getal:
def myfunc(n):
return lambda a : a * n
Gebruik die functiedefinitie om een functie te maken die altijd het getal verdubbelt dat je instuurt:
Voorbeeld
def myfunc(n):
return lambda a : a * n
mydoubler = myfunc(2)
print(mydoubler(11))
Of gebruik dezelfde functiedefinitie om een functie te maken die altijd het getal dat u verzendt verdrievoudigt :
Voorbeeld
def myfunc(n):
return lambda a : a * n
mytripler = myfunc(3)
print(mytripler(11))
Of gebruik dezelfde functiedefinitie om beide functies in hetzelfde programma te maken:
Voorbeeld
def myfunc(n):
return lambda a : a * n
mydoubler = myfunc(2)
mytripler = myfunc(3)
print(mydoubler(11))
print(mytripler(11))
Gebruik lambda-functies wanneer een anonieme functie voor een korte periode nodig is.