Python Lambda
- Föregående Sida Python Funktioner
- Nästa Sida Python Array
En lambda-funktion är en liten anonym funktion.
En lambda-funktion kan ta emot ett obegränsat antal argument, men kan endast ha en uttryck.
Syntax
lambda argument : expression
Kör uttrycket och returnera resultatet:
Exempel
En lambda-funktion som lägger till 10 till det numeriska argumentet och sedan skriver ut resultatet:
x = lambda a : a + 10 print(x(5))
Lambda-funktioner kan acceptera ett obegränsat antal parametrar:
Exempel
En lambda-funktion som multiplicerar parametrarna a och b och skriver ut resultatet:
x = lambda a, b : a * b print(x(5, 6))
Exempel
En lambda-funktion som lägger till parametrarna a, b och c och skriver ut resultatet:
x = lambda a, b, c : a + b + c print(x(5, 6, 2))
Varför använda Lambda-funktioner?
När du använder lambda som en anonym funktion inom en annan funktion, visas lambda-funktionens kraftfulla förmåga bättre.
Anta att du har en funktion-definition med ett argument som kommer att multipliceras med ett okänt nummer:
def myfunc(n): return lambda a : a * n
Använd denna funktion-definition för att skapa en funktion som alltid dublerar det nummer du skickar:
Exempel
def myfunc(n): return lambda a : a * n mydoubler = myfunc(2) print(mydoubler(11))
Eller, använd samma funktion-definition för att skapa en funktion som alltid tripplar det nummer du skickar:
Exempel
def myfunc(n): return lambda a : a * n mytripler = myfunc(3) print(mytripler(11))
Eller, använd samma funktion-definition i samma program för att skapa två funktioner:
Exempel
def myfunc(n): return lambda a : a * n mydoubler = myfunc(2) mytripler = myfunc(3) print(mydoubler(11)) print(mytripler(11))
Om du behöver en anonym funktion på kort sikt, använd lambda-funktionen.
- Föregående Sida Python Funktioner
- Nästa Sida Python Array