关于python __doc__ docstring

时间:2010-10-05 15:36:17

标签: python doc docstring

我想显示我的函数的docstring, 但如果我这样使用

@cost_time
def func():
    "define ...."
    blabla
print func.__doc__

它不会显示文档字符串,只是因为我使用了一些元编程技巧, 怎么解决这个问题?

2 个答案:

答案 0 :(得分:12)

cost_time装饰器返回的包装函数必须包含docstring而不是func。因此,请使用functools.wraps正确设置__name____doc__

from functools import wraps

def cost_time(fn):
    @wraps(fn)
    def wrapper():
        return fn()

    return wrapper

答案 1 :(得分:2)