Implementar la composición de funciones de izquierda a derecha

Beginner

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

Introducción

La composición de funciones es una técnica utilizada en la programación funcional para combinar dos o más funciones y crear una nueva función. En Python, podemos utilizar la función compose del módulo functools para realizar la composición de funciones. Sin embargo, la función compose realiza la composición de funciones de derecha a izquierda, lo que puede no ser adecuado para todos los casos de uso. En este desafío, implementarás una función que realice la composición de funciones de izquierda a derecha.

Composición de funciones inversa

Escribe una función compose_right que tome una o más funciones como argumentos y devuelva una nueva función que realice la composición de funciones de izquierda a derecha. La primera (más a la izquierda) función puede aceptar uno o más argumentos; las funciones restantes deben ser unarias.

Tu implementación debe utilizar la función reduce del módulo functools para realizar la composición de funciones de izquierda a derecha.

from functools import reduce

def compose_right(*fns):
  ## tu código aquí
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

Resumen

En este desafío, implementaste una función compose_right que realiza la composición de funciones de izquierda a derecha. Utilizaste la función reduce del módulo functools para realizar la composición de funciones de izquierda a derecha.