考虑示例:
def decorator(func):
def wrapper(*args, **kwargs):
print(args, kwargs)
func(*args, **kwargs)
return wrapper
@decorator
def foo(x, y, z=0):
pass
foo(5, 5)
输出:
(5, 5) {}
为什么不(5, 5) {'z': 0}
呢?如何传递给函数的所有默认值foo
来*args
或者**kwargs
只使用装饰(用于函数)或元类(类方法,例如__init__
)?
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句