La funzione lambda in Python

Nel linguaggio Python la funzione lambda è una funzione anonima e personalizzabile.

lambda argomento: espressione

La funzione può essere definita con uno o più argomenti.

A cosa serve?

E' utile per definire una funzione all'interno di un'altra funzione.

Nota. La funzione lambda è un aspetto tipico della programmazione funzionale.

    Un esempio pratico

    Esempio

    Definisco una semplice funzione che moltiplica per 2 l'argomento x

    y = lambda x : x *2

    Quindi, se passo l'argomento 5

    print(y(5))

    la funzione mi restituisce in output 10

    10

    Fin qui è semplice.

    Esempio 2

    Ora definisco una funzione lambda che somma due parametri tra loro e gli somma uno.

    z = lambda x,y : x*y + 1

    Quindi, se passo gli argomenti x=2 e y=3

    print(z(2,3))

    la funzione mi restituisce in output 7

    7

    E' un esempio di passaggio di più parametri.

    Esempio 3 (funzione di funzione)

    E' l'aspetto più interessante della funzione lambda.

    Creo un anonima funzione che moltiplica l'argomento per una variabile non nota.

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

    Poi definisco una funzione raddoppia che incorpora myfunz con il parametro 2.

    raddoppia = myfunz(2)

    Infine, definisco una funzione triplica che incorpora myfunz con il parametro 3.

    triplica = myfunz(3)

    Quando utilizzo le funzioni raddoppia e triplica, python considera n=2 e a=2 per la prima, n=2 e a=3 per la seconda.

    Pertanto, se chiamo raddoppia() con il parametro 5

    print(raddoppia(5))

    La funzione raddoppia(5) restituisce il risultato 10.

    10

    Se chiamo la funzione triplica() con il parametro 5, la funzione mi restituisce il valore 15.

    15

    E così via.

     


     

    Segnalami un errore, un refuso o un suggerimento per migliorare gli appunti

    FacebookTwitterLinkedinLinkedin
    knowledge base

    Le funzioni in python