def lowercasewrapper(func):
def wrapper(*args, **kwargs):
return [item.lower() for item in func(*args, **kwargs)]
return wrapper
我了解装饰器的作用,我已经在我的代码中实现了上面的装饰器并且它可以工作,但我对一些事情不太确定。
为什么 (func) 不能替换为 (*args, **kwargs) 并在此过程中删除 def 包装行?我猜前两行不做同样的事情,但对我来说就是这样。这好像是:
def lowercasewrapper(accept function) def wrapper(accept function)
'func'这个词在这里有什么意义?我注意到我可以用任何东西替换那个词,我的代码仍然有效。我放在@lowercasewrapper 下面的函数是否只是输入到装饰器中而不管'()'中的内容是什么?
另外,有点跑题了,但是item这个词也没有意义吧?我也可以用任何单词替换它,它仍然有效。
如果有人愿意帮助并详细解释和回答,而不是将我重定向到“什么是装饰者”线程,我将不胜感激。