Python Lambda

Lambda-funktio on pieni nimetön funktio.

Lambda-funktio voi ottaa vastaan minkä tahansa määrän parametreja, mutta voi sisältää vain yhden lauseen.

syntaksi

lambda arguments : expression

Suorita lause ja palauta tulos:

Esimerkki

Yksi lambda-funktio, joka lisää parametrina saadun luvun 10 ja tulostaa tuloksen:

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

Suorita esimerkki

Lambda-funktio voi hyväksyä minkä tahansa määrän parametreja:

Esimerkki

Lambda-funktio, joka kertoo parametrit a ja b ja tulostaa tuloksen:

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

Suorita esimerkki

Esimerkki

Lambda-funktio, joka lisää parametrit a, b ja c ja tulostaa tuloksen:

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

Suorita esimerkki

Miksi käyttää Lambda-funktiota?

Kun käytät lambdaa toisen funktion sisällä nimettynä funktiona, se osoittaa paremmin lambda-funktioiden voiman.

Oletetaan, että sinulla on yhden parametrin funktioiden määrittely, ja parametri kertoo tuntemattoman luvun:

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

Luo funktio, joka aina kaksinkertaistaa lähettämäsi luvun:

Esimerkki

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

Suorita esimerkki

Tai, luo funktio, joka aina lisää sinulle lähettämäsi luvun kolminkertaiseksi:

Esimerkki

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

Suorita esimerkki

Tai, luo kaksi funktiota samalla funktioiden määrittelyllä samassa ohjelmassa:

Esimerkki

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

Suorita esimerkki

Jos tarvitset lyhyessä ajassa nimetöntä funktiota, käytä lambda-funktiota.