class Curry: def __init__(self, func, args=None): self.func = func self.args = args or [] def __call__(self, arg): return Curry(self.func, self.args + [arg]) def ret(self): return self.func(*self.args) def sum_args(*args): return sum(args) def curry_sum(arg): return Curry(sum_args)(arg) print("Result:", curry_sum(1)(2)(3).ret()) # 6 print("Result:", curry_sum(1)(4)(5)(10).ret()) # 20