装饰器是在不修改源代码的情况下,使用装饰器增加原函数的功能。
在软件开发中有一个原则——”开放-封闭”,简单地说就是已经实现的功能不允许被修改,但可以被扩展。
- 封闭:已经实现的功能不可以被修改
- 开放:对现有的功能可以扩展
这个小实验写了三个装饰器和两个普通函数,对比可以得出装饰器运行的过程
运行的结果
分析函数func的运行过程
- 传入dec3的方法是func
- 传入dec2的方法是运行dec3返回的wrapper3
- 传入dec1的方法是运行dec2返回的wrapper2
- 执行函数func
- 执行dec3后续代码
- 执行dec2后续代码
- 执行dec1后续代码
对于带返回值的函数,在写装饰器时要返回函数的返回值。如下面这段代码
有参装饰器模板:
文章知识点与官方知识档案匹配,可进一步学习相关知识Python入门技能树高级教程函数211742 人正在系统学习中
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!