![](/img/trans.png)
[英]Calling a Python function with *args,**kwargs and optional / default arguments
[英]Python: Passing the default values of function' arguments to *args or **kwargs
考慮示例:
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}
? 如何僅使用裝飾器(用於函數)或元類(用於類方法,例如__init__
)將函數foo
所有默認值傳遞給*args
或**kwargs
?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.