python 类的装饰器,python装饰器--原来如此简单
@ python装饰的包装
第一个代码:@wraps未添加
defuser_login_confirm(姓名) :
打印(我是,姓名)。
defdeco_fun(view_func):
打印(准备转换。看吧。)
defwrapper(:
view_func()
打印(转换完成。看吧。)
返回包装
返回装饰_乐趣
@user_login_confirm (Pepper))。
Def Edge of Freedom()):
打印(我是),自由的命运。__name__))。
自由的边缘。
执行结果:
我是奇利
准备转型。
它是包装纸
变形完成。
第二个代码:添加一个自由边缘函数。
defuser_login_confirm(姓名) :
打印(我是,姓名)。
defdeco_fun(view_func):
打印(准备转换。看吧。)
defwrapper(:
view_func()
打印(转换完成。看吧。)
返回包装
返回装饰_乐趣
@user_login_confirm (Pepper))。
Def Edge of Freedom()):
打印(我是),自由的命运。__name__))。
Def Edge of Freedom()):
打印(我是),自由的命运。__name__))。
自由的边缘。
执行结果:
我是奇利
准备转型。
我是自由的命运。
添加了第三个代码:@wraps
从functools导入包装
defuser_login_confirm(姓名) :
打印(我是,姓名)。
defdeco_fun(view_func):
Print()已准备好转换。看吧。)
@wraps(view_func)
defwrapper(:
view_func()
打印(转换完成。看吧。)
返回包装
返回装饰_乐趣
@user_login_confirm (Pepper))。
Def Edge of Freedom()):
打印(我是),自由的命运。__name__))。
自由的边缘。
结论:
装饰器会将被装饰的函数转换成包装器函数,甚至是函数名,但是您可以使用@ wrapps(func)返回函数名。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。