Funzioni parziali in Python
Le funzioni parziali ci permettono di fissare un certo numero di argomenti di una funzione e generare una nuova funzione. In questo articolo cercheremo di comprendere il concetto di Funzioni Parziali con diversi esempi in Pitone .
Cosa sono le funzioni parziali e l'uso delle funzioni parziali in Python?
Le funzioni parziali in Python sono una funzione creata fissando un certo numero di argomenti di un'altra funzione. Python fornisce un modulo integrato chiamato funtools che include una funzione chiamata partial che può essere utilizzata per creare funzioni parziali. IL partial La funzione accetta un chiamabile (solitamente un'altra funzione) e una serie di argomenti da precompilare nella nuova funzione parziale. Questa funzionalità è simile a legarsi in C++ .
Come si implementa una funzione parziale in Python?
Le funzioni parziali supportano sia argomenti posizionali che parole chiave da utilizzare come argomenti fissi.
Esempio 1
In questo esempio utilizziamo i valori predefiniti per implementare la funzione parziale. I valori predefiniti iniziano a sostituire le variabili da sinistra. Nell'esempio abbiamo precompilato la nostra funzione con alcuni valori costanti di a b e c. E g() accetta solo un singolo argomento, ovvero la variabile x.
Python from functools import partial # A normal function def f ( a b c x ): return 1000 * a + 100 * b + 10 * c + x # A partial function that calls f with # a as 3 b as 1 and c as 4. g = partial ( f 3 1 4 ) # Calling g() print ( g ( 5 ))
Produzione:
3145Esempio 2
Nell'esempio abbiamo utilizzato valori costanti di valore predefiniti in cui abbiamo assegnato i valori di c e b e add_part() accetta un singolo argomento, ovvero la variabile a.
Pythonfrom functools import * # A normal function def add ( a b c ): return 100 * a + 10 * b + c # A partial function with b = 1 and c = 2 add_part = partial ( add c = 2 b = 1 ) # Calling partial function print ( add_part ( 3 ))Produzione:
312Usi di funzioni parziali
- Integrazione con le biblioteche: Le funzioni parziali possono essere utilizzate per personalizzare il comportamento di funzioni o metodi di terze parti fornendo argomenti parziali e possono essere utilizzate per integrarle con altre librerie.
- Semplificazione delle richiamate: È possibile utilizzare funzioni parziali per creare gestori di callback specializzati fissando alcuni parametri specifici del callback e fornendo un'interfaccia più pulita per il resto del codice.
- Correzione dei parametri: : Le funzioni parziali possono essere molto utili quando abbiamo una funzione con più parametri e vogliamo usarla spesso con alcuni parametri fissi. Invece di passare ripetutamente quei parametri fissi possiamo creare una funzione parziale e chiamarla con gli argomenti rimanenti.
- Ridurre la duplicazione: Se utilizziamo gli stessi argomenti per una funzione in posti diversi, creare una funzione parziale con tali argomenti fissi può aiutare a ridurre la duplicazione del codice e gli sforzi di manutenzione.
- Argomenti predefiniti: Python è integrato
functools.partialpuò essere utilizzato per impostare valori predefiniti per gli argomenti della funzione. - Riutilizzabilità del codice: Le funzioni parziali possono essere utilizzate per derivare funzioni specializzate da funzioni generali e quindi aiutarci a riutilizzare il nostro codice.