做网站走啥科目,购物网站建设合同,平面设计包括哪些方面,怎么免费搭建网站装饰器是程序开发中经常会用到的一个功能#xff0c;也是python语言开发的基础知识#xff0c;如果能够在程序中合理的使用装饰器#xff0c;不仅可以提高开发效率#xff0c;而且可以让写的代码看上去显的高大上^_^使用场景可以用到装饰器的地方有很多#xff0c;简单的举…装饰器是程序开发中经常会用到的一个功能也是python语言开发的基础知识如果能够在程序中合理的使用装饰器不仅可以提高开发效率而且可以让写的代码看上去显的高大上^_^使用场景可以用到装饰器的地方有很多简单的举例如以下场景引入日志函数执行时间统计执行函数前预备处理执行函数后清理功能权限校验等场景缓存今天讲一下python中装饰器的执行顺序以两个装饰器为例。装饰器代码如下:def wrapper_out1(func):print(--out11--)def inner1(*args, **kwargs):print(--in11--)ret func(*args, **kwargs)print(--in12--)return retprint(--out12--)return inner1def wrapper_out2(func):print(--out21--)def inner2(*args, **kwargs):print(--in21--)ret func(*args, **kwargs)print(--in22--)return retprint(--out22)return inner2wrapper_out2wrapper_out1def test():print(--test--)return 1 * 2if __name__ __main__:test()执行结果如下:--out11----out12----out21----out22----in21----in11----test----in12----in22--执行顺序以图片形式展示如下:先进入离test函数最近的装饰器由于装饰器中返回的是函数的函数名引用并非真正调用函数所以先打印--out11----out12----out21----out22--到inner2后func会真正执行函数会调用inner1(),所以再打印--in21----in11--到inner1中func会调用test函数所以会打印--test--再从各个函数出来后会依次打印--in12----in22--合起来就是上面的执行结果。以上就是本文的全部内容希望对大家的学习有所帮助也希望大家多多支持脚本之家。