- 在不改变原有函数的基础上添加新的功能
def set_fun(func):
def call_fun(*args, **kwargs):
print("添加权限")
return func(*args, **kwargs)
return call_fun
@set_fun # @set_fun === > test = set_fun(test)
def test(*args, **kwargs):
print("test", args, kwargs)
return 100
value = test(100, a=10)
print(value)
运行结果:
- 多个装饰器的执行顺序: