unção @compose e módulo funcional

ocumentação do Python 3 refere-se aCollin Winter'sfunctional module que contém a funçãocompose:

A função compose () implementa a composição da função. Em outras palavras, ele retorna um invólucro ao redor dos callables externos e internos, de modo que o valor de retorno do inner seja alimentado diretamente no extern

Infelizmente, este módulo não foi atualizado desde julho de 2006; Gostaria de saber se há alguma substituição disponíve

Por enquanto, eu só precisocompose função. O seguinte original éfunctional.compose definição ainda é boa para Python

def compose(func_1, func_2, unpack=False):
    """
    compose(func_1, func_2, unpack=False) -> function

    The function returned by compose is a composition of func_1 and func_2.
    That is, compose(func_1, func_2)(5) == func_1(func_2(5))
    """
    if not callable(func_1):
        raise TypeError("First argument to compose must be callable")
    if not callable(func_2):
        raise TypeError("Second argument to compose must be callable")

    if unpack:
        def composition(*args, **kwargs):
            return func_1(*func_2(*args, **kwargs))
    else:
        def composition(*args, **kwargs):
            return func_1(func_2(*args, **kwargs))
    return composition

EsteSO question está um pouco relacionado; pergunta se o Python deve suportar sintaxe especial paracompose.

questionAnswers(2)

yourAnswerToTheQuestion