Funcții parțiale în Python
Funcțiile parțiale ne permit să remediem un anumit număr de argumente ale unei funcții și să generăm o nouă funcție. În acest articol vom încerca să înțelegem conceptul de funcții parțiale cu diferite exemple în Piton .
Care sunt funcțiile parțiale și utilizarea funcțiilor parțiale în Python?
Funcțiile parțiale în Python este o funcție care este creată prin fixarea unui anumit număr de argumente ale altei funcții. Python oferă un modul încorporat numit Functools Aceasta include o funcție numită parțială care poate fi utilizată pentru a crea funcții parțiale. partial Funcția necesită un apel (de obicei, o altă funcție) și o serie de argumente care trebuie să fie pre-umplute în noua funcție parțială. Această caracteristică este similară cu Legați în C ++ .
Cum implementați o funcție parțială în Python?
Funcțiile parțiale acceptă atât argumente de cuvinte cheie, cât și de cuvinte cheie pentru a fi utilizate ca argumente fixe.
Exemplul 1
În acest exemplu, folosim valori implicite pentru a implementa funcția parțială. Valorile implicite încep să înlocuiască variabilele din stânga. În exemplu, ne-am umplut în prealabil funcția noastră cu unele valori constante ale A B și C. Și g () ia doar un singur argument, adică variabila 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 ))
Ieșire:
3145Exemplul 2
În exemplu, am utilizat valori constante de valoare predefinită în care am atribuit valorile lui C și B și ADD_PART () ia un singur argument, adică variabila 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 ))Ieșire:
312Utilizarea funcțiilor parțiale
- Integrare cu bibliotecile: Funcțiile parțiale pot fi utilizate pentru a personaliza comportamentul funcțiilor sau metodelor terților, oferind argumente parțiale și pot fi utilizate pentru a-l integra cu alte biblioteci.
- Simplificarea apelurilor de apel: Funcțiile parțiale pot fi utilizate pentru a crea manipulatori de apel specializați prin remedierea unor parametri specifici de apel și oferind o interfață mai curată pentru restul codului.
- Fixarea parametrilor: : Funcțiile parțiale pot fi foarte utile atunci când avem o funcție cu mai mulți parametri și dorim frecvent să o folosim cu unii parametri fixați. În loc să trecem în mod repetat acei parametri fixi, putem crea o funcție parțială și o putem numi cu argumentele rămase.
- Reducerea duplicării: Dacă folosim aceleași argumente pentru o funcție în diferite locuri creând o funcție parțială cu acele argumente fixe, poate ajuta la reducerea duplicării codului și a eforturilor de întreținere.
- Argumente implicite: Python este încorporat
functools.partialpoate fi utilizat pentru a seta valorile implicite pentru argumentele funcționale. - Reutilizarea codului: Funcțiile parțiale pot fi utilizate pentru a obține funcții specializate din funcții generale și, prin urmare, ne ajută să ne reutilizăm codul.