函数wraps的作用

例:

from functools import wraps
def test(f):
    @wraps(f)
    def inner():
        print('wraps的作用:')
        f()
        print('所以,wraps的真正作用就是,在不影响装饰器使用的情况下,又可以直接使用func内置功能')
    return inner

@test
def func():
    '''
    这是一段注释
    '''
    print('由于调用func时,实际调用的是inner的函数,因为func已经等于inner,所以无法直接使用func的内置功能')
print(func())

print(func.__name__)
print(func.__doc__)


#打印:

wraps的作用:
由于调用func时,实际调用的是inner的函数,因为func已经等于inner,所以无法直接使用func的内置功能
所以,wraps的真正作用就是,在不影响装饰器使用的情况下,又可以直接使用func内置功能
None
func

    这是一段注释

知识点:

  函数wraps的作用:

       在不影响装饰器使用的情况下,可以直接使用被调用函数的内置功能

  __name__:返回函数名

  __doc__:返回函数体内的注释

 

posted @ 2019-08-17 15:32  aikell  阅读(567)  评论(0编辑  收藏  举报