Python高阶---装饰器

开放封闭原则:软件实体应该是可扩展,而不可修改的,即对扩展是开放的,而对修改是封闭的

装饰器的作用:在不更改原功能函数内部代码,并且不改变调用方法的情况下为原函数添加新的功能

 

装饰器的应用场景

1、登录验证

2、函数运行时间统计

3、执行函数之前做准备工作

4、执行函数之后做清理功能

 

常用的装饰器

  @classmethod:被该方法装饰之后,该方法就是一个类方法且传递的第一个参数是 cls 即类本身

  @statictmethid:静态方法,实例和类都可以调用,如:Test().test_01(),Test.test_01(),被静态方法装饰的方法可传参可不传,若传参在调用时必须传递参数

  @property:设定只读属性,即被装饰的方法可以跟类属性一样被调用,但只能读不能修改

 

定义一个time_count装饰器:即计算函数运行所需的时间

  

 

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

  

 

 装饰器装饰类的要求:

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

     

 

装饰器的运行顺序

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

  

 

 

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

       

 

单例模式装饰器

  

 

 

 

类实现装饰器

       

 

posted @   哩子吖  阅读(65)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示