Funkcje częściowe w Pythonie
Funkcje częściowe pozwalają nam ustalić określoną liczbę argumentów funkcji i wygenerować nową funkcję. W tym artykule postaramy się zrozumieć koncepcję funkcji częściowych na różnych przykładach Pyton .
Co to są funkcje częściowe i zastosowanie funkcji częściowych w Pythonie?
Funkcje częściowe w Pythonie to funkcja, która jest tworzona poprzez ustalenie określonej liczby argumentów innej funkcji. Python udostępnia wbudowany moduł o nazwie narzędzia funkcyjne który zawiera funkcję zwaną częściową, której można używać do tworzenia funkcji częściowych. The partial funkcja pobiera wywoływalną (zwykle inną funkcję) i serię argumentów, które należy wstępnie wypełnić w nowej funkcji częściowej. Ta funkcja jest podobna do wiązać w C++ .
Jak zaimplementować funkcję częściową w Pythonie?
Funkcje częściowe obsługują zarówno argumenty pozycyjne, jak i słowa kluczowe, które mogą być używane jako argumenty stałe.
Przykład 1
W tym przykładzie używamy wartości domyślnych do implementacji funkcji częściowej. Wartości domyślne zaczynają zastępować zmienne od lewej strony. W przykładzie wstępnie wypełniliśmy naszą funkcję pewnymi stałymi wartościami a b i c. A g() pobiera tylko jeden argument, tj. zmienną 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 ))
Wyjście:
3145Przykład 2
W przykładzie użyliśmy predefiniowanych wartości stałych, w których przypisaliśmy wartości c i b, a funkcja add_part() przyjmuje pojedynczy argument, czyli zmienną 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 ))Wyjście:
312Zastosowania funkcji cząstkowych
- Integracja z bibliotekami: Funkcje częściowe mogą służyć do dostosowywania zachowania funkcji lub metod innych firm poprzez dostarczanie częściowych argumentów i mogą służyć do integracji z innymi bibliotekami.
- Upraszczanie wywołań zwrotnych: Częściowych funkcji można używać do tworzenia wyspecjalizowanych procedur obsługi wywołań zwrotnych, naprawiając niektóre parametry specyficzne dla wywołania zwrotnego i zapewniając czystszy interfejs dla reszty kodu.
- Ustalanie parametrów: : Funkcje częściowe mogą być bardzo przydatne, gdy mamy funkcję z wieloma parametrami i często chcemy jej używać ze stałymi parametrami. Zamiast wielokrotnie przekazywać te stałe parametry, możemy utworzyć funkcję częściową i wywołać ją z pozostałymi argumentami.
- Ograniczanie powielania: Jeśli używamy tych samych argumentów dla funkcji w różnych miejscach, utworzenie częściowej funkcji z tymi stałymi argumentami może pomóc w ograniczeniu powielania kodu i wysiłków konserwacyjnych.
- Domyślne argumenty: Wbudowany Python
functools.partialmożna użyć do ustawienia domyślnych wartości argumentów funkcji. - Możliwość ponownego wykorzystania kodu: Funkcje częściowe mogą służyć do wyprowadzania funkcji specjalistycznych z funkcji ogólnych, co pomaga nam w ponownym wykorzystaniu naszego kodu.