1

与关于 python __doc__ docstring非常相关。如果我不使用 functools 并使用如何从函数本身内部打印 python 函数的文档字符串中提到的包装器?,有没有办法打印文档字符串。

def passmein(func):
    def wrapper(*args, **kwargs):
        return func(func, *args, **kwargs)
    return wrapper

@passmein
def testfunc(me):
    """This is a test function"""
    #print me.__doc__

if __name__ == '__main__':
    print testfunc.__doc__

这没有返回。

4

1 回答 1

3

我不确定您为什么不想使用functools.wraps,但您可以将文档字符串添加到wrapper自己:

def passmein(func):
    def wrapper(*args, **kwargs):
        return func(*args, **kwargs)
    wrapper.__doc__ = func.__doc__
    return wrapper

@passmein
def testfunc(me):
    """This is a test function"""

if __name__ == '__main__':
    print testfunc.__doc__
于 2013-08-09T17:52:28.417 回答