https://github.com/zydmayday/python_ramda
这个是我最近一直在弄的库。
因为之前工作中一直在用ramda(https://ramda.cn/),而且本人也非常喜欢函数式编程的概念,
所以心血来潮,想用python把ramda实现的功能给复刻一遍。
目的主要有三个,
第一:正好趁此机会学习一下python
第二:了解一下编写开源库是什么感觉
第三:把ramda中的函数都仔细研究一遍
编写的库的使用方法如下:
python -v
Python 3.9.4
其他的版本没有尝试,说不定可以使用
pip install -U python-ramda # 我发布的库
因为使用方式其实和ramda一样,所以文档完全可以参考ramda。
# 具体的使用
import ramda as R
# 柯里化的例子
my_sum = lambda a, b, c: a + b + c
curried_sum = R.curry(my_sum)
curried_sum(1)(2)(3) # 6
curried_sum(1, 2)(3) # 6
curried_sum(1)(2, 3) # 6
curried_sum(1, 2, 3) # 6
new_sum = curried_sum(1) # 可以传部分参数生成新的函数
new_sum(2)(3) # 6
# 函数组合的例子
R.add(1, 2) # 3
R.multiply(2, 4) # 8
fn = R.pipe(R.add, R.multiply(3))
fn(1, 2) # (1 + 2) * 3 = 9
如果有感兴趣的小伙伴可以欢迎一起来贡献代码!
网友评论