什么是"功能性"的替代品。函数组合操作的包?

时间:2017-01-23 18:35:02

标签: python functional-programming python-3.6

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

在谷歌上搜索了很多关于Collin Winter的功能及其compose()函数的参考资料。但是,相关文档已经消失:http://www.oakwinter.com/code/functional/

这并不能让我对它的持续支持充满信心。

诸如https://mathieularose.com/function-composition-in-python/之类的一些引用提供了相对简单的手动实现。但是,除非绝对必要,否则我宁愿选择社区正在聚集​​的现有图书馆,而不是重新实现这样的基本操作。

1 个答案:

答案 0 :(得分: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