1,什么是装饰器
装饰器就是装饰别人的工具,具体是指为被装饰者添加新功能
2,为什么要用装饰器
装饰器的核心思想:(开放封闭原则)
在不修改被装饰者源代码以及调用方式的前提下,为被装饰者添加新功能
3,如何实现装饰器
可以用闭包函数去实现装饰器
4,装饰器demo
原方法:
def index(x, y, z):
return x + y + z
装饰器:
def outter(func):
def wrapper(*args, **kwargs):
a = 100
res = func(*args, **kwargs)
b = 80
print(a - b)
return res
return wrapper
调用装饰器:
index = outer(index)
5,装饰器语法糖
from functools import wraps
def outter(func):
@wraps(func)
def wrapper(*args, **kwargs):
a = 100
res = func(*args, **kwargs)
b = 80
print(a - b)
return res
return wrapper
调用:
@outter
def index(x, y, z):
return x + y + z