I am not sure if this is the right way to do it but IMHO it would be great to have a function decorator/transformer to make functions partial applicable using functools.partial. Like from functools import partial class partial_applicable(): def __call__(self, func): def __wrapper(*args, **kvargs): try: return func(*args, **kvargs) except TypeError: return partial(func, *args, **kvargs) return __wrapper Then you could do like: @partial_applicable() def substract(left, right): return left - right substract(10, 100) => -90 rclose = substract(right = 1000) => rclose(10) => -990 lclose = substract(1) => lclose(10) => -9 What do you think?
YAGNI, is what I think. Or if you do need it, put it in your application. (To tell you the truth, it just looks confusing to me...it strikes me as too magical.) Regardless, this is more of a python-ideas kind of issue, so I suggest raising it there if you want to pursue it.