Funktionskomposition mit Python

PythonPythonBeginner
Jetzt üben

This tutorial is from open-source community. Access the source code

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

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.