需要用到面向对象里的__init__,__call__,__str__三种魔法函数,可以跟JavaScript一样完美的柯里化
class add:
def __init__(self, *args):
self.value = sum(args)
def __call__(self, *args):
self.value += sum(args)
return self
def __str__(self):
return str(self.value)
if __name__ == '__main__':
print(add())
# 0
print(add(1)(2))
# 3
print(add(1, 2)(3)(4))
# 10
print(add()(1, 2)(3, 4)()(5)(6, 7, 8)(9, 10)())
# 55
本文介绍如何在Python中使用面向对象特性实现柯里化,通过定义add类及其__init__、__call__和__str__方法,展示了一种类似JavaScript的函数式编程技巧。
51

被折叠的 条评论
为什么被折叠?



