In dit artikel leer je over de anonieme functie, ook wel lambda-functies genoemd. U leert wat ze zijn, hun syntaxis en hoe u ze kunt gebruiken (met voorbeelden).
Wat zijn lambda-functies in Python?
In Python is een anonieme functie een functie die zonder naam is gedefinieerd.
Terwijl normale functies worden gedefinieerd met behulp van het def
trefwoord in Python, worden anonieme functies gedefinieerd met behulp van het lambda
trefwoord.
Daarom worden anonieme functies ook wel lambda-functies genoemd.
Hoe lambda-functies in Python te gebruiken?
Een lambda-functie in python heeft de volgende syntaxis.
Syntaxis van Lambda-functie in python
lambda-argumenten: uitdrukking
Lambda-functies kunnen een willekeurig aantal argumenten hebben, maar slechts één uitdrukking. De uitdrukking wordt geëvalueerd en geretourneerd. Lambda-functies kunnen overal worden gebruikt waar functieobjecten vereist zijn.
Voorbeeld van Lambda-functie in python
Hier is een voorbeeld van een lambda-functie die de invoerwaarde verdubbelt.
# Program to show the use of lambda functions double = lambda x: x * 2 print(double(5))
Uitvoer
10
In het bovenstaande programma lambda x: x * 2
is de lambda-functie. Hier is x het argument en x * 2
is de uitdrukking die wordt geëvalueerd en geretourneerd.
Deze functie heeft geen naam. Het retourneert een functieobject dat is toegewezen aan de identifier double
. We kunnen het nu als een normale functie noemen. De verklaring
dubbel = lambda x: x * 2
is bijna hetzelfde als:
def dubbel (x): retourneer x * 2
Gebruik van Lambda-functie in python
We gebruiken lambda-functies als we een naamloze functie voor een korte tijd nodig hebben.
In Python gebruiken we het over het algemeen als een argument voor een functie van een hogere orde (een functie die andere functies als argumenten aanneemt). Lambda-functies worden gebruikt in combinatie met ingebouwde functies zoals filter()
, map()
enz.
Voorbeeld gebruik met filter ()
De filter()
functie in Python neemt een functie en een lijst als argumenten op.
De functie wordt aangeroepen met alle items in de lijst en er wordt een nieuwe lijst geretourneerd die items bevat waarvoor de functie evalueert True
.
Hier is een voorbeeld van het gebruik van een filter()
functie om alleen even getallen uit een lijst te filteren.
# Program to filter out only the even items from a list my_list = (1, 5, 4, 6, 8, 11, 3, 12) new_list = list(filter(lambda x: (x%2 == 0) , my_list)) print(new_list)
Uitvoer
(4, 6, 8, 12)
Voorbeeld gebruik met kaart ()
De map()
functie in Python neemt een functie en een lijst op.
De functie wordt aangeroepen met alle items in de lijst en er wordt een nieuwe lijst geretourneerd die items bevat die door die functie voor elk item worden geretourneerd.
Hier is een voorbeeld van het gebruik van een map()
functie om alle items in een lijst te verdubbelen.
# Program to double each item in a list using map() my_list = (1, 5, 4, 6, 8, 11, 3, 12) new_list = list(map(lambda x: x * 2 , my_list)) print(new_list)
Uitvoer
(2, 10, 8, 12, 16, 22, 6, 24)