1 2 3 4 5 6 7 8 9 10 11 12
def curry(func, *args): try: return func(*args) except TypeError: def recur(*missing_args): return curry(func, *(args + missing_args)) return recur def sumfive(a, b, c, d, e): return a + b + c + d + e print curry(sumfive)(1)(2)(3)(4)(5)
1
15