Osittaiset toiminnot Pythonissa

Osittaisten toimintojen avulla voimme korjata tietyn määrän funktion argumentteja ja luoda uuden toiminnon. Tässä artikkelissa yritämme ymmärtää osittaisten toimintojen käsitteen erilaisilla esimerkeillä Python .

Mitkä ovat osittaiset toiminnot ja osittaisten toimintojen käyttö Pythonissa?

Pythonin osittaiset toiminnot ovat funktio, joka luodaan korjaamalla tietyn määrän toisen toiminnon argumentteja. Python tarjoaa sisäänrakennetun moduulin nimeltä functools Se sisältää osittaisen toiminnon, jota voidaan käyttää osittaisten toimintojen luomiseen. Se partial Funktio ottaa soitettavan (yleensä toinen funktio) ja sarjan argumentteja, jotka on esiasetettu uuteen osittaiseen toimintoon. Tämä ominaisuus on samanlainen kuin Sitoudu C ++: een .

Kuinka toteutat osittaisen toiminnon Pythonissa?

Osittaiset toiminnot tukevat sekä paikannus- että avainsanarusgumentteja, joita käytetään kiinteinä argumenteina.

Esimerkki 1

Tässä esimerkissä käytämme oletusarvoja osittaisen toiminnon toteuttamiseen. Oletusarvot alkavat korvata muuttujat vasemmalta. Esimerkissä olemme esittäneet funktiomme joillekin B: n ja c: n vakioarvoilla. Ja g () ottaa vain yhden argumentin, ts. Muuttuja 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  ))   

Lähtö:

 3145  

Esimerkki 2

Esimerkissä olemme käyttäneet ennalta määritellyt arvovakioarvot, joissa olemme osoittaneet C: n ja B: n ja add_part () -arvon arvot, ts. Muuttujan 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  ))   

Lähtö:

 312  

Osittaisten toimintojen käyttö

  • Integraatio kirjastoihin: Osittaisia ​​toimintoja voidaan käyttää räätälöimään kolmansien osapuolien toimintojen tai menetelmien käyttäytymistä tarjoamalla osittaisia ​​argumentteja, ja niitä voidaan käyttää integroimaan se muihin kirjastoihin.
  • Soittimien yksinkertaistaminen: Osittaisia ​​toimintoja voidaan käyttää erikoistuneiden takaisinsoittojen käsittelijöiden luomiseen kiinnittämällä joitain takaisinsoittokohtaisia ​​parametreja ja tarjoamalla puhtaamman käyttöliittymän muualle koodille.
  • Parametrien kiinnitys: - Osittaiset toiminnot voivat olla erittäin hyödyllisiä, kun meillä on toiminto, jolla on useita parametreja, ja haluamme usein käyttää sitä joidenkin parametrien kanssa. Sen sijaan, että siirräisimme niitä kiinteitä parametreja toistuvasti, voimme luoda osittaisen toiminnon ja kutsua sitä jäljellä olevilla argumenteilla.
  • Päällekkäisyyden vähentäminen: Jos käytämme samoja argumentteja funktiolle eri paikoissa, jotka luovat osittaisen toiminnon näiden kiinteiden argumenttien kanssa, voi auttaa vähentämään koodin päällekkäisyyksiä ja ylläpitotoimia.
  • Oletusargumentit: Pythonin sisäänrakennettu functools.partial voidaan käyttää toimintoargumenttien oletusarvojen asettamiseen.
  • Koodin uudelleenkäytettävyys: Osittaisia ​​toimintoja voidaan käyttää erikoistuneiden toimintojen saamiseksi yleisistä toiminnoista ja siksi auttamaan meitä käyttämään koodia uudelleen.