我在下面运行了一个装饰器演示。
def logger(func):
def inner(*args, **kwargs):
print(args)
print(kwargs)
return func(*args, **kwargs)
return inner
@logger
def foo1(a, b, c, x=2, y=1):
print(x * y)
foo1(6,7,8)
Run Code Online (Sandbox Code Playgroud)
输出是:
(6, 7, 8)
{}
2
Run Code Online (Sandbox Code Playgroud)
为什么字典是空的?我认为应该是{'x':2, 'y':1}