Introduzione alle funzioni Lambda di Python

Mar 03 2023
Oggi impareremo a conoscere uno strumento unico in Python chiamato "lambda". Potrebbe sembrare una parola grossa, ma in realtà è molto facile da usare.
Foto di Rich Tervet su Unsplash

Oggi impareremo a conoscere uno strumento unico in Python chiamato "lambda". Potrebbe sembrare una parola grossa, ma in realtà è molto facile da usare.

Allora, cos'è lambda? In termini semplici, lambda è un modo per creare piccole funzioni in Python senza nominarle. È come una scorciatoia!

Diamo un'occhiata a un esempio. Supponiamo che tu voglia sommare due numeri insieme in Python. Potresti scrivere una funzione come questa:

def add_numbers(x, y):
    return x + y

Ma cosa succede se hai bisogno di usare questa funzione solo una volta e non vuoi darle un nome? È qui che lambda torna utile!

Invece di scrivere una funzione completa, puoi usare lambda per creare una piccola funzione al volo. Ecco come appare:

lambda x, y: x + y

Ecco un altro esempio di utilizzo delle funzioni lambda. Supponiamo che tu abbia un elenco di nomi e desideri ordinarli in ordine alfabetico. Potresti scrivere una funzione come questa:

def sort_names(names):
    return sorted(names)

Ma cosa succede se hai bisogno di usare questa funzione solo una volta e non vuoi darle un nome? Puoi usare lambda per creare una piccola funzione che ordina i nomi in ordine alfabetico. Ecco come appare:

lambda names: sorted(names)

Quindi, quali sono i vantaggi dell'utilizzo delle funzioni lambda in Python?

  1. Codice conciso: le funzioni Lambda consentono di scrivere codice più conciso e più facile da leggere. Dal momento che non richiedono una definizione e un nome di funzione separati, puoi usarli direttamente nel tuo codice, rendendolo più leggibile e meno ingombrante.
  2. Composizione della funzione: le funzioni lambda possono essere utilizzate come elementi costitutivi per creare funzioni più complesse. Puoi usarli per creare funzioni di ordine superiore che accettano altre funzioni come argomenti o restituiscono altre funzioni come valori. Ciò consente di comporre funzioni in modi nuovi e interessanti.
  3. Utilizzo una tantum: le funzioni Lambda sono utili quando è necessario utilizzare una funzione solo una volta e non si desidera creare una definizione di funzione separata per essa. Ciò consente di risparmiare tempo e fatica, soprattutto se la funzione è semplice e non è necessario riutilizzarla in altre parti del codice.
  4. Utilizzo efficiente della memoria: poiché le funzioni lambda non hanno un nome, non occupano alcuno spazio di memoria nell'ambiente Python. Ciò può essere particolarmente utile quando si lavora con set di dati di grandi dimensioni o quando l'utilizzo della memoria è un problema.
  5. Velocità: le funzioni Lambda sono in genere più veloci da eseguire rispetto alle normali funzioni perché non richiedono una chiamata di funzione e una ricerca. Questo può essere particolarmente utile quando lavori con set di dati di grandi dimensioni o quando le prestazioni sono un problema.