Einführung
Die Funktionskomposition ist eine Technik, die in der funktionalen Programmierung verwendet wird, um zwei oder mehr Funktionen zu kombinieren und eine neue Funktion zu bilden. In Python können wir die functools.reduce()-Funktion verwenden, um eine rechts-links-Funktionskomposition durchzuführen.
Funktionen zusammensetzen
Schreiben Sie eine Funktion namens compose(*fns), die eine oder mehrere Funktionen als Argumente akzeptiert und eine neue Funktion zurückgibt, die das Ergebnis der Komposition der Eingabefunktionen von rechts nach links ist. Die letzte (rechtsmöglichste) Funktion kann ein oder mehrere Argumente akzeptieren; die verbleibenden Funktionen müssen einstellige sein.
from functools import reduce
def compose(*fns):
return reduce(lambda f, g: lambda *args: f(g(*args)), fns)
add5 = lambda x: x + 5
multiply = lambda x, y: x * y
multiply_and_add_5 = compose(add5, multiply)
multiply_and_add_5(5, 2) ## 15
Zusammenfassung
In dieser Herausforderung haben Sie gelernt, wie Sie die functools.reduce()-Funktion in Python verwenden, um eine rechts-links-Funktionskomposition durchzuführen. Sie haben auch eine Funktion namens compose() geschrieben, die eine oder mehrere Funktionen als Argumente akzeptiert und eine neue Funktion zurückgibt, die das Ergebnis der Komposition der Eingabefunktionen von rechts nach links ist.