Introduction
La composition de fonctions est une technique utilisée en programmation fonctionnelle pour combiner deux ou plusieurs fonctions afin de créer une nouvelle fonction. En Python, on peut utiliser la fonction compose du module functools pour effectuer la composition de fonctions. Cependant, la fonction compose effectue une composition de fonctions de droite à gauche, ce qui peut ne pas convenir à tous les cas d'utilisation. Dans ce défi, vous allez implémenter une fonction qui effectue une composition de fonctions de gauche à droite.
Reverse Compose Functions
Écrivez une fonction compose_right qui prend une ou plusieurs fonctions en arguments et renvoie une nouvelle fonction qui effectue une composition de fonctions de gauche à droite. La première (la plus à gauche) fonction peut accepter un ou plusieurs arguments ; les fonctions suivantes doivent être unaires.
Votre implémentation devrait utiliser la fonction reduce du module functools pour effectuer une composition de fonctions de gauche à droite.
from functools import reduce
def compose_right(*fns):
## votre code ici
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
Summary
Dans ce défi, vous avez implémenté une fonction compose_right qui effectue une composition de fonctions de gauche à droite. Vous avez utilisé la fonction reduce du module functools pour effectuer une composition de fonctions de gauche à droite.