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ö:
3145Esimerkki 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.
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 ))Lähtö:
312Osittaisten 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.partialvoidaan 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.