2class Curry:
3 def __init__(self, func, args=None):
4 self.func = func
5 self.args = args or []
7 def __call__(self, arg):
8 return Curry(self.func, self.args + [arg])
10 def ret(self):
11 return self.func(*self.args)
14def sum_args(*args):
15 return sum(args)
18def curry_sum(arg):
19 return Curry(sum_args)(arg)
22print("Result:", curry_sum(1)(2)(3).ret())
23# 6
25print("Result:", curry_sum(1)(4)(5)(10).ret())
26# 20