Python Lambda
'n Lambda-funksie is 'n klein anonieme funksie.
'n Lambda-funksie kan enige aantal argumente neem, maar kan net een uitdrukking hê.
Sintaksis
lambda arguments : expression
Die uitdrukking word uitgevoer en die resultaat word teruggestuur:
Voorbeeld
Voeg 10 by argument a
, en gee die resultaat terug:
x = lambda a : a + 10
print(x(5))
Lambda-funksies kan enige aantal argumente neem:
Voorbeeld
Vermenigvuldig argument a
met argument
b
en gee die resultaat terug:
x = lambda a, b : a * b
print(x(5, 6))
Voorbeeld
Som argument a
,
b
, en op c
en gee die resultaat terug:
x = lambda a, b, c : a + b + c
print(x(5, 6,
2))
Waarom Lambda-funksies gebruik?
Die krag van lambda word beter gewys as jy dit as 'n anonieme funksie binne 'n ander funksie gebruik.
Gestel jy het 'n funksiedefinisie wat een argument neem, en daardie argument sal met 'n onbekende getal vermenigvuldig word:
def myfunc(n):
return lambda a : a * n
Gebruik daardie funksiedefinisie om 'n funksie te maak wat altyd die getal wat jy instuur verdubbel:
Voorbeeld
def myfunc(n):
return lambda a : a * n
mydoubler = myfunc(2)
print(mydoubler(11))
Of gebruik dieselfde funksiedefinisie om 'n funksie te maak wat altyd die getal wat jy instuur verdriedubbel :
Voorbeeld
def myfunc(n):
return lambda a : a * n
mytripler = myfunc(3)
print(mytripler(11))
Of gebruik dieselfde funksiedefinisie om beide funksies in dieselfde program te maak:
Voorbeeld
def myfunc(n):
return lambda a : a * n
mydoubler = myfunc(2)
mytripler = myfunc(3)
print(mydoubler(11))
print(mytripler(11))
Gebruik lambda-funksies wanneer 'n anonieme funksie vir 'n kort tydperk vereis word.