Python高阶---装饰器
开放封闭原则:软件实体应该是可扩展,而不可修改的,即对扩展是开放的,而对修改是封闭的
装饰器的作用:在不更改原功能函数内部代码,并且不改变调用方法的情况下为原函数添加新的功能
装饰器的应用场景
1、登录验证
2、函数运行时间统计
3、执行函数之前做准备工作
4、执行函数之后做清理功能
常用的装饰器
@classmethod:被该方法装饰之后,该方法就是一个类方法且传递的第一个参数是 cls 即类本身
@statictmethid:静态方法,实例和类都可以调用,如:Test().test_01(),Test.test_01(),被静态方法装饰的方法可传参可不传,若传参在调用时必须传递参数
@property:设定只读属性,即被装饰的方法可以跟类属性一样被调用,但只能读不能修改
定义一个time_count装饰器:即计算函数运行所需的时间
装饰器有参数时的流程走向
装饰器装饰类的要求:
当装饰器装饰一个类时,需把装饰器中传入的参数return,若不是装饰类,可不return
装饰器的运行顺序
一个函数使用多个装饰器,是从下往上装饰,从上往下执行
当调用装饰器时,想要备注当前函数,可在装饰器前再加一个外部函数
单例模式装饰器
类实现装饰器
有更好的建议,欢迎留言啊~
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?