Čiastočné funkcie v pythone

Čiastočné funkcie nám umožňujú opraviť určitý počet argumentov funkcie a vygenerovať novú funkciu. V tomto článku sa pokúsime porozumieť koncepcii čiastočných funkcií s rôznymi príkladmi v Pythón .

Aké sú čiastočné funkcie a použitie čiastočných funkcií v Pythone?

Čiastočné funkcie v Pythone je funkcia, ktorá sa vytvára stanovením určitého počtu argumentov inej funkcie. Python poskytuje vstavaný modul s názvom funkcia To zahŕňa funkciu nazývanú čiastočná, ktorá sa dá použiť na vytvorenie čiastočných funkcií. Ten partial Funkcia berie Callable (zvyčajne inú funkciu) a sériu argumentov, ktoré sú vopred vyplnené v novej čiastočnej funkcii. Táto funkcia je podobná ako viazať v C ++ .

Ako implementujete čiastočnú funkciu v Pythone?

Čiastočné funkcie podporujú argumenty pozičných aj kľúčových slov, ktoré sa majú použiť ako pevné argumenty.

Príklad 1

V tomto príklade používame predvolené hodnoty na implementáciu čiastočnej funkcie. Predvolené hodnoty začnú výmeny premenných zľava. V príklade sme vopred naplnili našu funkciu s niektorými konštantnými hodnotami B a C. A g () len má jeden argument, t. J. Premenná 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  ))   

Výstup:

 3145  

Príklad 2

V príklade sme použili vopred definované hodnotové konštantné hodnoty, v ktorých sme priradili hodnoty C a B a add_part (), má jeden argument, t.j. premenná 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  ))   

Výstup:

 312  

Použitie čiastočných funkcií

  • Integrácia s knižnicami: Čiastočné funkcie sa môžu použiť na prispôsobenie správania funkcií alebo metód tretích strán poskytnutím čiastočných argumentov a môžu sa použiť na jeho integráciu s inými knižnicami.
  • Zjednodušenie spätného volania: Čiastočné funkcie sa dajú použiť na vytvorenie špecializovaných obsluhy spätného volania opravou niektorých parametrov špecifických pre volanie a poskytnutím čistejšieho rozhrania pre zvyšok kódu.
  • Oprava parametrov: : Čiastočné funkcie môžu byť veľmi užitočné, keď máme funkciu s viacerými parametrami a často ju chceme používať s niektorými parametrami. Namiesto opakovaného odovzdávania týchto pevných parametrov môžeme vytvoriť čiastočnú funkciu a nazvať ju so zostávajúcimi argumentmi.
  • Zníženie duplikácie: Ak používame rovnaké argumenty pre funkciu na rôznych miestach, ktoré vytvárajú čiastočnú funkciu s týmito pevnými argumentmi, môže pomôcť znížiť duplikáciu kódu a úsilie o údržbu.
  • Predvolené argumenty: Vstavaný Python functools.partial možno použiť na nastavenie predvolených hodnôt pre argumenty funkcií.
  • Opätovné použitie kódu: Čiastočné funkcie sa môžu použiť na odvodenie špecializovaných funkcií zo všeobecných funkcií, a preto nám pomáhajú znovu použiť náš kód.