Introduction
La composition de fonctions est une technique utilisée en programmation fonctionnelle pour combiner deux ou plusieurs fonctions pour former une nouvelle fonction. En Python, nous pouvons utiliser la fonction functools.reduce() pour effectuer une composition de fonctions de droite à gauche.
Composer des fonctions
Écrivez une fonction appelée compose(*fns) qui accepte une ou plusieurs fonctions en tant qu'arguments et renvoie une nouvelle fonction qui est le résultat de la composition des fonctions d'entrée de droite à gauche. La dernière (la plus à droite) fonction peut accepter un ou plusieurs arguments ; les fonctions restantes doivent être unaires.
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
Résumé
Dans ce défi, vous avez appris à utiliser la fonction functools.reduce() pour effectuer une composition de fonctions de droite à gauche en Python. Vous avez également écrit une fonction appelée compose() qui accepte une ou plusieurs fonctions en tant qu'arguments et renvoie une nouvelle fonction qui est le résultat de la composition des fonctions d'entrée de droite à gauche.