一、什么是装饰器
器:指的是具备某一功能的工具。 装饰:指的是为被装饰器添加新功能。
装饰器就是用来为被装饰器对象添加新功能的工具(注意:装饰器本身可以是任意可调用对象,被装饰的对象也可以是任意可调用对象)
二、为何要用装饰器
开放封闭原则:封闭指的是对修改封闭,对扩展开放
装饰器的实现必须遵守俩大原则:
1.不修改被装饰对象的源代码
2.不修改被装饰器对象的调用方式
装饰器的目标:就是在遵循1和2的原则的前提下为被装饰对象添加上新功能。
装饰器的语法糖:在被装饰对象正上方单独一行写@装饰器的名字
运行原理:
python解释器一旦运行到@装饰器的名字,就会调用装饰器,然后将被装饰函数的内存地址当作参数传给装饰器,最后将装饰器调用的结果赋值给原函数名
补充:所有的数据类型的值自带布尔值,可以直接当作条件去用,只需要记住布尔值为假的那一些值即可(0,空,None)