装饰器本质上是一个python函数,它可以让其他函数在不需要做任何代码变动的前提下增加额外功能,装饰器的返回值也是一个函数对象.它经常用于有迫切需求的场景,比如:插入日志、性能测试、事务处理、缓存、权限校验等场景...装饰器是一个闭包函数是嵌套函数,通过外层函数提供嵌套函数的环境
装饰器在权限控制,增加额外功能,如增加记录日志,缓存处理,发送邮件用的比较多
6.1 无参装饰器
原函数中不带参数的装饰器,如下例子假设:...我定义了一个函数lyshark(),现在想要在不改变原来函数定义的情况下,在函数运行前打印一段话,函数运行后打印另一段话,此时我们可以使用装饰器的装饰功能来简单的实现这个需求.
>>> import os...,返回inner
6.2 有参装饰器
原函数带一个参数的装饰器: 我们在以上的案例中,给装饰器添加一个参数,并在内部使用这个参数.
>>> import os
>>> import sys
>>>
>...: 如果一个装饰器不够用的话,我们可以使用两个装饰器,首先将函数与内层装饰器结合然后在与外层装饰器相结合,要理解使用@语法的时候到底执行了什么,是理解装饰器的关键.
>>> import os
>>>