Částečné funkce v Pythonu

Částečné funkce nám umožňují opravit určitý počet argumentů funkce a generovat novou funkci. V tomto článku se pokusíme porozumět konceptu částečných funkcí s různými příklady v Krajta .

Jaké jsou částečné funkce a použití částečných funkcí v Pythonu?

Částečné funkce v Pythonu je funkce, která je vytvořena stanovením určitého počtu argumentů jiné funkce. Python poskytuje vestavěný modul s názvem Functools To zahrnuje funkci zvanou částečnou, kterou lze použít k vytvoření částečných funkcí. The partial Funkce bere volatelné (obvykle jiná funkce) a řadu argumentů, které mají být předem naplněny v nové částečné funkci. Tato funkce je podobná vázat v C ++ .

Jak implementujete částečnou funkci v Pythonu?

Částečné funkce podporují argumenty pozičních i klíčových slov, které mají být použity jako pevné argumenty.

Příklad 1

V tomto příkladu používáme výchozí hodnoty k implementaci částečné funkce. Výchozí hodnoty začnou nahrazovat proměnné zleva. V příkladu jsme předem naplnili naši funkci některými konstantními hodnotami B a C. A g () pouze vezme jediný argument, tj. Proměnnou 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  

Příklad 2

V příkladu jsme použili předem definované hodnotové konstantní hodnoty, ve kterých jsme přiřadili hodnoty C a B a add_part (), jediný argument, tj. Proměnnou 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žití částečných funkcí

  • Integrace s knihovnami: Částečné funkce lze použít k přizpůsobení chování funkcí nebo metod třetích stran poskytnutím částečných argumentů a lze je použít k jeho integraci s jinými knihovnami.
  • Zjednodušení zpětných volání: Částečné funkce lze použít k vytvoření specializovaných obsluhy zpětného volání opravou některých parametrů specifických pro zpětné volání a poskytnutím čistšího rozhraní pro zbytek kódu.
  • Oprava parametrů: : Částečné funkce mohou být velmi užitečné, když máme funkci s více parametry a často ji chceme používat s některými parametry. Místo opakovaného předávání těchto pevných parametrů můžeme vytvořit částečnou funkci a nazvat ji zbývajícími argumenty.
  • Snížení duplikace: Pokud používáme stejné argumenty pro funkci na různých místech, která vytváří částečnou funkci s těmito pevnými argumenty, může pomoci snížit úsilí o duplicitu a údržbu kódu.
  • Výchozí argumenty: Pythonův vestavěný functools.partial lze použít k nastavení výchozích hodnot pro argumenty funkcí.
  • Opakovaná použitelnost kódu: Částečné funkce lze použít k odvození specializovaných funkcí z obecných funkcí, a proto nám pomohou znovu použít náš kód.