class wrapper(object):

    def __init__(self, func, **args):
        self.func, self.args = func, args

def __call__(self, *args):
    pass
How to partially set arguments to a function without running it?