Python Lambda

En lambda-funktion er en lille anonym funktion.

En lambda-funktion kan acceptere et hvilket som helst antal parametre, men kun én udtryk.

syntaks

lambda argumenter : expression

Kør udtrykket og returner resultatet:

Eksempel

En lambda-funktion, der tilføjer 10 til det tal, der indsendes som parameter, og derefter udskriver resultatet:

x = lambda a : a + 10
print(x(5))

Kør Eksempel

Lambda-funktioner kan acceptere et vilkårligt antal parametre:

Eksempel

En lambda-funktion, der multiplicerer parametrene a og b og printer resultatet:

x = lambda a, b : a * b
print(x(5, 6))

Kør Eksempel

Eksempel

En lambda-funktion, der lægger parametrene a, b og c sammen og printer resultatet:

x = lambda a, b, c : a + b + c
print(x(5, 6, 2))

Kør Eksempel

Hvorfor bruge Lambda-funktioner?

Når du bruger lambda som en anonym funktion inden for en anden funktion, viser det bedre lambda's kraftige evner.

Antag, at du har en funktion defintion med ét parameter, som vil multipliceres med en ukendt nummer:

def myfunc(n):
  return lambda a : a * n

Brug denne funktion defintion til at oprette en funktion, der altid ganger de tal, du sender, med to:

Eksempel

def myfunc(n):
  return lambda a : a * n
mydoubler = myfunc(2)
print(mydoubler(11))

Kør Eksempel

Eller, brug samme funktion defintion til at oprette en funktion, der altid ganger de tal, du sender, med tre:

Eksempel

def myfunc(n):
  return lambda a : a * n
mytripler = myfunc(3)
print(mytripler(11))

Kør Eksempel

Eller, brug samme funktion defintion i samme program for at generere to funktioner:

Eksempel

def myfunc(n):
  return lambda a : a * n
mydoubler = myfunc(2)
mytripler = myfunc(3)
print(mydoubler(11)) 
print(mytripler(11))

Kør Eksempel

Hvis du hurtigt har brug for en anonym funktion, skal du bruge lambda-funktionen.