Python高阶---装饰器
开放封闭原则:软件实体应该是可扩展,而不可修改的,即对扩展是开放的,而对修改是封闭的
装饰器的作用:在不更改原功能函数内部代码,并且不改变调用方法的情况下为原函数添加新的功能
装饰器的应用场景
1、登录验证
2、函数运行时间统计
3、执行函数之前做准备工作
4、执行函数之后做清理功能
常用的装饰器
@classmethod:被该方法装饰之后,该方法就是一个类方法且传递的第一个参数是 cls 即类本身
@statictmethid:静态方法,实例和类都可以调用,如:Test().test_01(),Test.test_01(),被静态方法装饰的方法可传参可不传,若传参在调用时必须传递参数
@property:设定只读属性,即被装饰的方法可以跟类属性一样被调用,但只能读不能修改
定义一个time_count装饰器:即计算函数运行所需的时间

装饰器有参数时的流程走向

装饰器装饰类的要求:
当装饰器装饰一个类时,需把装饰器中传入的参数return,若不是装饰类,可不return

装饰器的运行顺序
一个函数使用多个装饰器,是从下往上装饰,从上往下执行

当调用装饰器时,想要备注当前函数,可在装饰器前再加一个外部函数

单例模式装饰器

类实现装饰器

有更好的建议,欢迎留言啊~

浙公网安备 33010602011771号