This question already has answers here:
What does functools.wraps do?
(6个答案)
5年前关闭。
如何获得原始函数的名称?
结果:wrapped_f,但我需要A!
输出:
(6个答案)
5年前关闭。
如何获得原始函数的名称?
def wrap(f):
def wrapped_f(*args, **kwargs):
# do something
return wrapped_f
@wrap
def A(params):
# do something
print(A.__name__)
结果:wrapped_f,但我需要A!
最佳答案
使用 functools.wraps()
:
直接来自文档:
示例:
from functools import wraps
def wrap(f):
@wraps(f)
def wrapped_f(*args, **kwargs):
pass
return wrapped_f
@wrap
def A(params):
pass
print(A.__name__)
输出:
$ python -i foo.py
A
>>>
关于python - 包装函数的函数名称?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30799700/
10-15 01:57