python 内置装饰器,python装饰器--原来如此简单
装饰器的作用:在不改变原有功能代码的情况下,添加用户认证等附加功能。
@wraps(view_func)的作用:不使用装饰器改变原函数的结构(如name,doc))))。
如果不使用@ wraps decorator,__name__和__doc__的输出是什么?def decorator(func): this is decorator _ _ .* kwargs(3360( this is wrapper _ _ doc _ print this wrapper方法))return func (* args,* kwargs (regs) test。_ _ name _ _ (print (_ _ doc _:(,test。_ _)
分析:
返回对包装方法的引用。这意味着调用测试。__name__实际上是包装器。__name__,因为测试指向包装方法。这样,在注释方法名称时,就有可能得到装饰器的嵌入函数的名称和注释。
from func toolsimportwrappsdefdecorator(func): 这是decorator _ _ doc _ @ wraps)用@ wraps decorator解决这个问题)KWARGS (3360(这是wrapper _ _ doc _ print This wrapper方法))返回func (* args,* kwargs)测试。_ _ name _ _ (print (_ _ doc _ _:(,test。__doc__
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。