装饰器的执行流程图
装饰器的执行流程图
装饰器可以理解为“函数加工厂”:把一个函数当作参数传递给外部函数,在内部函数中调用原函数,并在调用前后添加新功能。
一句话流程
- 把被装饰函数
f交给装饰器函数decorator decorator返回一个新的函数wrapper- 以后调用
f()的地方,实际上调用的是wrapper()
最小可对照代码
def decorator(func):
def wrapper(*args, **kwargs):
result = func(*args, **kwargs)
return result
return wrapper
@decorator
def f(x):
return x + 1
