L'elenco dei parametri viene aggiunto quando li dichiariamo usando la parola chiave "def", diamo loro un nome e mettiamo le parentesi rotonde attorno all'elenco degli argomenti. Potrebbero esserci diverse righe di codice, ognuna contenente tutte le dichiarazioni ed espressioni richieste. Tuttavia, ci sono situazioni in cui potremmo desiderare una funzione con una sola espressione interna come quando abbiamo bisogno di una funzione che raddoppia un argomento.
Possiamo utilizzare il metodo doppio () insieme alla funzione mappa ().
Dato che una funzione Lambda può essere costruita esattamente dove è necessaria, questo sarebbe un posto eccellente per utilizzarne uno. Ciò si traduce nella scrittura di un minor numero di righe di codice e prevenzione della creazione delle funzioni nominate che vengono chiamate solo una volta (e quindi devono essere archiviate in una memoria).
Definizione della funzione Lambda
Questi sono i metodi senza nomi. I termini funzioni anonime e senza nome sono usati anche per descriverli. Al posto di un nome, il termine "lambda" funge da parola chiave. La natura anonima della funzione che viene successiva è indicata da questo termine.
Perché utilizzare le funzioni Python Lambda
L'uso primario di funzioni anonime è quando una determinata funzione è richiesta una sola volta. Possono essere prodotti ovunque che ne abbiano bisogno. Le funzioni di Python lambda sono quindi a volte indicate come metodi di lancio poiché vengono utilizzate in combinazione con le altre funzioni predefinite come filtro (), mappa () e altre funzioni. Rispetto alle funzioni standard di Python, queste funzioni aiutano a ridurre il numero di righe nel codice.
Come utilizzare i metodi Lambda in Python
Quando è richiesta una breve espressione come un parametro per un metodo complesso, vengono utilizzate le funzioni Lambda.
La sintassi di una funzione Lambda è la seguente:
L'espressione che costituisce il corpo della funzione è scritta dopo il termine lambda, uno spazio, un elenco di tutti i parametri separati dalle virgole e un colon.
Il numero di parametri che utilizziamo in una funzione Lambda dipende da noi. Ma solo un'espressione può essere usata nel corpo.
Notiamo che sebbene ci possa essere un numero illimitato di parametri, può esserci solo un'espressione per argomento. L'istruzione di ritorno, che in genere fa parte della sintassi per una definizione della funzione, è assente qui.
La sintassi è spiegata definendo l'argomento e le espressioni. Lascia che "y" sia l'argomento e "y+y" è l'espressione.
Prima di passare all'argomento reale, parliamo di alcuni aspetti tecnici delle funzioni Lambda e di ciò che la comunità Python considera i loro vantaggi e svantaggi.
Professionisti:
Buono per le procedure logiche chiari e chiari. Questo migliora anche la leggibilità del codice.
Efficace quando abbiamo bisogno di una funzione di utilizzo una tantum.
Contro:
Sono limitati all'uso di una frase. Una funzione Lambda non può includere molte operazioni indipendenti.
Sfavorevole alle azioni che avrebbero bisogno di più di un'affermazione in una definizione standard della funzione. Usa una funzione denominata al suo posto se ci vuole più di un minuto per cogliere il codice.
Esempio 1:
Creeremo una funzione Lambda che moltiplica il suo attributo per 2.
Ora eseguiamo il programma utilizzando la sintassi precedente.
Dichiariamo un elenco con 6 numeri interi nell'ambito della variabile "My_list". Quindi, utilizziamo la funzione Lambda insieme alla funzione Map () in una nuova variabile -"New -list". Finalmente, utilizziamo la funzione print () e otteniamo l'output desiderato.
Osserva le differenze tra questo metodo e la doppia funzione di cui abbiamo scritto prima. Questo è più gestibile e utilizza meno memoria perché non include una funzione aggiuntiva. Ci vuole solo una codifica a linea singola che è facile da usare.
Esempio 2:
La funzione Lambda può anche essere utilizzata per trovare i numeri interi richiesti o impostare su numeri facilmente e in alternativa. Possiamo creare una funzione Lambda che determina se un numero intero è positivo.
L'esempio successivo è gestito dall'uso della sintassi precedentemente menzionata.
Inizia con la dichiarazione dell'elenco di 6 numeri sotto la variabile specificata come "My-list". Dopo aver inizializzato i valori dell'elenco, utilizziamo la funzione Lambda insieme alla funzione filtro () nella variabile "new-list". Per stampare l'output nell'ultimo passaggio, applichiamo la funzione print ().
Ciò impedisce la necessità di memorizzare una funzione denominata perché la funzione Lambda viene dichiarata quando viene utilizzata. Per prevenire un disordine, è appropriato utilizzare una funzione Lambda quando una funzione viene chiamata solo una volta e ottenere l'output desiderato usando una formula a singola riga.
Esempio 3:
Non sono consentite dichiarazioni multiple nelle funzioni Lambda. Ma possiamo costruire due funzioni Lambda e poi chiamarne uno come parametro per un'altra funzione Lambda. Usando Lambda, cerchiamo di individuare il secondo elemento più grande:
Qui, inizializziamo un insieme di numeri interi nella variabile "elenco". Dopo aver effettuato l'elenco e aver specificato la variabile, abbiamo sviluppato una funzione Lambda che ordina ogni sotto-elenco dell'elenco fornito. La seconda funzione Lambda che recupera l'elemento N-2th dall'elenco ordinato e restituisce n poiché la lunghezza dell'elenco sub viene quindi chiamata usando questo elenco come argomento.
Esempio 4:
Una funzione e un elenco sono entrambi accettati come parametri dalla funzione mappa (). Un nuovo elenco che include tutti gli elementi modificati da lambda forniti da quel metodo per ogni elemento viene restituito quando il metodo viene invocato con un metodo Lambda e un elenco.
Iniziamo con un elenco di 10 numeri interi nella variabile "elenco". Quindi, utilizziamo insieme le due funzioni (mappa e lambda) in un "finale_list". Alla fine, rappresentiamo il nostro output utilizzando la funzione print ().
Esempio 5:
Utilizziamo la funzione Lambda () con riduzione (). Una funzione e un elenco sono i due argomenti accettati dalla funzione Python di riduzione (). Un risultato viene restituito quando il metodo viene invocato con un metodo Lambda e un iterabile. Usando i valori delle coppie dell'iteble, questo ripete un'operazione. Il modulo "functools" è dove risiede il metodo di riduzione ().
Dopo aver integrato il modulo "Riduci" dai "functools", facciamo un elenco di 6 numeri interi e dichiariamo la variabile come "elenco". Quindi, utilizzare la lambda e ridurre la funzione nella variabile "somma" per mostrare l'output. Abbiamo utilizzato la funzione print ().
Conclusione
In questa guida, abbiamo spiegato le funzioni Lambda. Queste sono definite come funzioni se la nostra funzione ha solo una breve espressione. Sebbene abbiamo dimostrato qui che sono facili da usare a qualsiasi livello, non sono comunemente impiegati dai programmatori. Per una migliore comprensione su quali sono le funzioni Lambda e su come si possono usare queste funzioni per ridurre le dimensioni o la lunghezza di una funzione, abbiamo anche implementato alcuni codici nell'articolo insieme ad alcuni dei pro e contro in modo che si possano conoscere i vantaggi e svantaggi dell'uso delle funzioni Lambda prima di utilizzare, ottenere una migliore panoramica della situazione e se la funzione Lambda è applicabile in tale situazione o no.