立即学习:https://edu.csdn.net/course/play/26755/340161?utm_source=blogtoedu
1.装饰器的作用
装饰器本身是一个函数,也就是装饰器函数。
装饰器可以在没有任何代码变动的前提下,给一个函数增加额外功能,起到装饰作用
需求场景比如:插入日志,性能测试,事务处理,缓存等。
装饰器就是一个普通函数。
2.自定义装饰器
from functools import wraps
def log(flag):
def decorate(func):
@wraps(func)
def _wrap(*args,**kwargs):
try:
if flag:
func(*args,**kwargs)
print('name',func.__name__)
except Exception as e:
print(e.args)
return _wrap
return decorate
@log(False)
def add(a,b,c):
print('sum','=',a + b + c)
add(1,2,3)