def wrapper(*args, **kwargs):
    args_name = list(OrderedDict.fromkeys(inspect.getargspec(f)[0] + list(kwargs.keys())))
args_dict = OrderedDict(list(zip(args_name, args)) + list(kwargs.items()))
args_values = list(args_dict.values())
Getting method parameter names in python