题
我想告诉我的函数文档字符串, 但是,如果使用这样的
@cost_time
def func():
"define ...."
blabla
print func.__doc__
它不会显示的文档字符串,只是因为我使用一些元编程技巧, 如何解决这一问题?
解决方案
您包装的函数从cost_time
装饰返回必须具有文档字符串代替func
。因此,使用 functools.wraps
其正确地设置__name__
和__doc__
:
from functools import wraps
def cost_time(fn):
@wraps(fn)
def wrapper():
return fn()
return wrapper
其他提示
使用 functools.wraps()
。
不隶属于 StackOverflow