一、装饰器是什么?
装饰器是在闭包的基础上生成的 以不改变原函数为前提并增加新功能 的函数
二、应用场景
1、计算函数运行时间、运行次数
2、flask路由传参
3、日志记录
4、权限校验
5、事务处理
6、缓存
三、代码块
def decorator(func):
def inner(*args,**kwargs):
# 功能代码
print("xxx")
return func(*args,**kwargs)
return inner
注:functools.wrap() 可保证原函数的属性name、doc不做改变