Python Lambda

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))

Kör Exempel

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))

Kör Exempel

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))

Kör Exempel

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))

Kör Exempel

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))

Kör Exempel

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))

Kör Exempel

Om du behöver en anonym funktion på kort sikt, använd lambda-funktionen.