2
守則
def blahblah(func):
def wrapper(*args):
pass # blah blah blah....
return wrapper
@blahblah
def func1(arg1):
pass # blah blah blah
@blahblah
def func2(arg1):
pass # blah blah blah
functions = [func1, func2]
for func in functions:
print(func.__name__, func(0))
我想要的是得到這個代碼的原始名稱,如「FUNC1」和「FUNC2」。但之前編寫的代碼只是給了我「包裝器」和「包裝器」。有什麼辦法嗎?最好不要改變包裝代碼。如何在函數裝飾器包裝函數後獲取函數的原始名稱?
輸出
wrapper None
wrapper None
理想輸出
func1 None
func2 None
[這是一個很棒的博客文章](https://hynek.me/articles/decorators/)的主題。 – kojiro