Lezioni di Python – 6.2 Le funzioni Lambda

Lezioni di Python - 6.2 le funzioni lambda

Lambda

Quando si definisce una funzione con la clausola def si assegna automaticamente una variabile ad essa. Quindi si potrebbe presumere che il comportamento delle funzioni sia diverso da quello di altri oggetti (come stringhe e numeri) che possono essere creati ed usati nello stesso momento (on the fly) senza ricorrere alla creazione e definizione di variabili che le contengano.

In Python, anche le funzioni possono essere utilizzate on the fly, utilizzando una particolare sintassi chiamata lambda. Le funzioni che vengono create in questo modo sono chiamate anonime.

Questo approccio si utilizza spesso quando si vuole passare una funzione come argomento di un’altra funzione. La sintassi lambda richiede la clausola lambda seguita da un elenco di argomenti, un carattere di due punti, e l’espressione per valutare gli argomenti ed  infine il valore in entrata.

Vediamo un esempio

def foo(f, arg):
    return f(arg)
    
a = foo(lambda x: x*2, 5)
print(a) 

eseguiamo

>>>
10

Le funzioni lambda però non sono così potenti come le funzioni con il nome. Queste funzioni possono fare solo operazioni descrivibili tramite una singola espressione (equivalente ad una riga di codice).

Le funzioni lambda possono essere assegnate a variabili ed utilizzate come funzioni normali, ma tale operazione è praticamente inutile dato che a quel punto si possono utilizzare le funzioni classiche.

⇐ Vai a Lezione 6.1 – La programmazione funzionale

Vai a Lezione 6.3 – Map and Filter 

Lascia un commento