Lambda Python

La funzione lambda è una piccola funzione anonima.

La funzione lambda può accettare una quantità qualsiasi di parametri, ma può avere solo un'espressione.

Sintassi

lambda arguments : expression

Esegui l'espressione e restituisci il risultato:

Esempio

Una funzione lambda che aggiunge 10 al numero传入 come parametro e poi stampa il risultato:

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

Esegui esempio

La funzione lambda può accettare un numero illimitato di parametri:

Esempio

Una funzione lambda che moltiplica i parametri a e b e stampa il risultato:

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

Esegui esempio

Esempio

Una funzione lambda che somma i parametri a, b e c e stampa il risultato:

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

Esegui esempio

Perché usare la funzione Lambda?

Quando si utilizza lambda come funzione anonima all'interno di un'altra funzione, si può meglio mostrare la potenza di lambda.

Supponiamo di avere una definizione di funzione con un parametro che viene moltiplicato per un numero sconosciuto:

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

Crea una funzione che sempre raddoppia il numero che invii utilizzando la stessa definizione della funzione:

Esempio

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

Esegui esempio

O, crea una funzione che sempre aggiunge tre volte il numero che invii utilizzando la stessa definizione della funzione:

Esempio

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

Esegui esempio

O, usa la stessa definizione della funzione nel programma per creare due funzioni identiche:

Esempio

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

Esegui esempio

Se hai bisogno di una funzione anonima in breve tempo, usa la funzione lambda.