2

特别是,我正在寻找一个支持功能组合的包。

谷歌搜索,有很多关于 Collin Winter 的函数及其 compose() 函数的引用。然而,文档已经消失:http ://www.oakwinter.com/code/functional/

这并没有让我对它的持续支持充满信心。

一些参考资料,如https://mathieularose.com/function-composition-in-python/提供了相对简单的手动实现。但是,除非绝对必要,否则我宁愿使用现有的库,其中包含社区正在融合的库,而不是重新实现这样的基本操作。

4

1 回答 1

1

我是toolz的忠实粉丝,在个人项目和工作中都经常使用它。它得到积极维护,有据可查,尽管版本号为 0.x,但似乎相当成熟。

它提供了compose可能是您正在寻找的功能。

例如:

from toolz import compose

add_one = lambda x: x + 1
square = lambda x: x**2

# Add 1, then square
compose(square, add_one)(2)  # == 9
于 2017-01-23T19:53:03.543 回答