我想告诉我的函数文档字符串, 但是,如果使用这样的

@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

其他提示

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top