Python decorator handling docstrings

前端 未结 3 1931
无人共我
无人共我 2020-11-27 15:44

I have a problem using docstrings with decorators. Given the following example:

def decorator(f):
    def _decorator():
        print \'decorator active\'
           


        
3条回答
  •  一个人的身影
    2020-11-27 16:43

    Use functools.wraps() to update the attributes of the decorator:

    from functools import wraps
    
    def decorator(f):
        @wraps(f)
        def _decorator():
            print 'decorator active'
            f()
        return _decorator
    
    @decorator
    def foo():
        '''the magic foo function'''
        print 'this is function foo'
    
    help(foo)
    

    Also see the Standard Library documentation for functools.

提交回复
热议问题