Čá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í. ThepartialFunkce 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 ++ .
alisa manyonok
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.
Pythonfrom 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:
3145Pří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.
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))
Výstup:
312Použ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.partiallze 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.
příkaz java return