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:

 3145  

Exemplul 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.

Python
   from   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:

 312  

Utilizarea 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.partial poate 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.