Day12装饰器
1.装饰器
什么是装饰器:装饰器指的是为被装饰对象添加新功能的工具
装饰器本身可以是任意调用对象
被装饰对象本身也可以是任意可调用对象
2.为何要用装饰器:
开放封闭原则:
①对修改源代码和调用方式是封闭的
②对扩展功能是开放的
装饰器实现原则:
在不修改源代码和调用方式的前提下,给对象新增功能
装饰器的目的:
就是在遵循原则1和2的前提下为被装饰对象添加新功能
语法糖:
@outter#foo = outter(foo)
def foo():
print("foo")
通用装饰器
def outter(func):
def inner(args,**kwargs):
res = func(args,**kwargs)
return res
return inner