Einführung
Die Funktionskomposition ist eine Technik, die in der funktionalen Programmierung verwendet wird, um zwei oder mehr Funktionen zu kombinieren, um eine neue Funktion zu erstellen. In Python können wir die compose-Funktion aus dem functools-Modul verwenden, um die Funktionskomposition durchzuführen. Die compose-Funktion führt jedoch eine rechts-links-Funktionskomposition durch, was für alle Anwendungsfälle möglicherweise nicht geeignet ist. In dieser Herausforderung implementieren Sie eine Funktion, die eine links-rechts-Funktionskomposition durchführt.
Umgekehrte Kompositionsfunktionen
Schreiben Sie eine Funktion compose_right, die eine oder mehrere Funktionen als Argumente nimmt und eine neue Funktion zurückgibt, die eine links-rechts-Funktionskomposition durchführt. Die erste (am linkesten) Funktion kann ein oder mehrere Argumente akzeptieren; die verbleibenden Funktionen müssen einstellige sein.
Ihre Implementierung sollte die reduce-Funktion aus dem functools-Modul verwenden, um die links-rechts-Funktionskomposition durchzuführen.
from functools import reduce
def compose_right(*fns):
## Ihr Code hier
from functools import reduce
def compose_right(*fns):
return reduce(lambda f, g: lambda *args: g(f(*args)), fns)
add = lambda x, y: x + y
square = lambda x: x * x
add_and_square = compose_right(add, square)
add_and_square(1, 2) ## 9
Zusammenfassung
In dieser Herausforderung haben Sie eine Funktion compose_right implementiert, die eine links-rechts-Funktionskomposition durchführt. Sie haben die reduce-Funktion aus dem functools-Modul verwendet, um die links-rechts-Funktionskomposition durchzuführen.