python wraps,,用代码说明问题:de
python wraps,,用代码说明问题:de
用代码说明问题:
def d(f):def _d(*args, **kwargs):print f.__name__, ‘ is called‘f(*args, **kwargs)return _d@ddef test():"""function test"""print ‘test‘if __name__==‘__main__‘:print test.__name__, " | ", test.__doc__
输出:
_d | None
可能你想要输出的是这样的:
test | function test
原因自然是函数已经发生了变化。
如果想要输出"test | function test",可以用wraps,d修改如下:
from functools import wrapsdef d(f):@wraps(f)def _d(*args, **kwargs):print f.__name__, ‘ is called‘f(*args, **kwargs)return _d
即,在_d上面用wraps(f)修饰一下。
python wraps
相关内容
- 暂无相关文章
评论关闭