1、什么是装饰器
假设现在有一个函数now(),要求不修改now函数的定义,实现在执行now函数之前自动打印日志的功能,这种在代码运行期间动态添加功能的函数成为“装饰器”。
2、例子
![](https://img.haomeiwen.com/i16966148/f093c9de590064b3.png)
3、当装饰器decorator本身需要传入参数时,需要定义三层嵌套函数,同时为了不改变被装饰函数本身的__name__属性,可以用 Python内置的functools.wraps来 把原始函数的__name__等属性复制到wrapper()函数中。
![](https://img.haomeiwen.com/i16966148/976b80749c8b0d6a.png)
假设现在有一个函数now(),要求不修改now函数的定义,实现在执行now函数之前自动打印日志的功能,这种在代码运行期间动态添加功能的函数成为“装饰器”。
本文标题:Python装饰器
本文链接:https://www.haomeiwen.com/subject/hdzmgqtx.html
网友评论