Met gedeeltelijke functies kunnen we een bepaald aantal argumenten van een functie vastleggen en een nieuwe functie genereren. In dit artikel zullen we proberen het concept van gedeeltelijke functies te begrijpen met verschillende voorbeelden Python .
Wat zijn deelfuncties en het gebruik van deelfuncties in Python?
Gedeeltelijke functies in Python zijn een functie die wordt gemaakt door een bepaald aantal argumenten van een andere functie vast te leggen. Python biedt een ingebouwde module genaamd functionele hulpmiddelen die een functie bevat die gedeeltelijk wordt genoemd en die kan worden gebruikt om gedeeltelijke functies te maken. Departial
functie heeft een opvraagbare (meestal een andere functie) en een reeks argumenten nodig die vooraf moeten worden ingevuld in de nieuwe gedeeltelijke functie. Deze functie is vergelijkbaar met binden in C++ .
hashing in de datastructuur
Hoe implementeer je een deelfunctie in Python?
Gedeeltelijke functies ondersteunen zowel positionele als trefwoordargumenten die als vaste argumenten kunnen worden gebruikt.
Voorbeeld 1
In dit voorbeeld gebruiken we standaardwaarden om de gedeeltelijke functie te implementeren. De standaardwaarden beginnen met het vervangen van variabelen vanaf de linkerkant. In het voorbeeld hebben we onze functie vooraf ingevuld met enkele constante waarden van a b en c. En g() heeft slechts één argument nodig, namelijk de variabele 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))
Uitgang:
3145
Voorbeeld 2
In het voorbeeld hebben we vooraf gedefinieerde waardeconstantewaarden gebruikt waarin we de waarden van c en b hebben toegewezen en add_part() neemt een enkel argument, dat wil zeggen de variabele 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))
Uitgang:
312
Gebruik van deelfuncties
- Integratie met bibliotheken: Gedeeltelijke functies kunnen worden gebruikt om het gedrag van functies of methoden van derden aan te passen door gedeeltelijke argumenten aan te bieden, en kunnen worden gebruikt om deze met andere bibliotheken te integreren.
- Terugbellen vereenvoudigen: Gedeeltelijke functies kunnen worden gebruikt om gespecialiseerde callback-handlers te maken door enkele callback-specifieke parameters te corrigeren en een schonere interface voor de rest van de code te bieden.
- Parameterbevestiging: : Gedeeltelijke functies kunnen erg handig zijn als we een functie hebben met meerdere parameters en we deze vaak willen gebruiken met een aantal vaste parameters. In plaats van deze vaste parameters herhaaldelijk door te geven, kunnen we een gedeeltelijke functie maken en deze aanroepen met de overige argumenten.
- Duplicatie verminderen: Als we op verschillende plaatsen dezelfde argumenten voor een functie gebruiken, kan het creëren van een gedeeltelijke functie met die vaste argumenten helpen om codeduplicatie en onderhoudsinspanningen te verminderen.
- Standaardargumenten: Python is ingebouwd
functools.partial
kan worden gebruikt om standaardwaarden voor functieargumenten in te stellen. - Herbruikbaarheid van code: Gedeeltelijke functies kunnen worden gebruikt om gespecialiseerde functies af te leiden uit algemene functies en ons daardoor te helpen onze code opnieuw te gebruiken.
typoscript ingesteld