def deco_test(func):
def inner_function(*args, **kwargs):
return func(*args, **kwargs)
return inner_function
@deco_test
def a(a='asdf', b='asdf'):
pass
if __name__ == '__main__':
a(456, 789)
a(123, b='qwer/123/a.txt')
a(a='098', b='789456')
我想得到这样的论点:
在deco_test(func)
答案 0 :(得分:0)
您将无法访问a
内为deco_test
提供的参数。装饰是在声明函数时完成的,在调用函数之前,那时您还没有这些参数的信息。
在inner_function
内,您将获得修饰的函数调用a(456, 789)
中提供的参数,将为您提供args=(456, 789)
。如果您想根据a
可以接受的参数来格式化它们,我认为您必须检查函数a
。