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:

 3145  

Przykł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.

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  ))   

Wyjście:

 312  

Zastosowania 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.partial moż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.