python 笔记:cls VS self

cls

  • 用于类方法
    • cls 通常作为类方法(用 @classmethod 装饰)中的第一个参数。
    • 它指代调用该方法的类本身,无论该类有没有被实例化
  • 访问类级别的属性和方法
    • 通过 cls,可以访问类级别的属性和方法。
    • 可以通过 cls.params 访问类的属性 params,或者通过 cls(config) 创建一个新的类实例。
  • 隐式传入
    • ​​​​​​​​​​​​​​ 调用类方法时,Python 会自动将类作为 cls 传入

self

  • 用于实例方法
    • self 是实例方法中的第一个参数,用于指代方法所属的实例
  • 访问实例级别的属性和方法
    • ​​​​​​​ 通过 self,可以访问实例级别的属性和方法。
    • 例如,self.name 可以访问实例的属性 nameself.some_method() 可以调用实例的方法 some_method
  • 隐式传入
    • ​​​​​​​​​​​​​​ 调用实例方法时,Python 会自动将实例作为 self 传入
相关推荐
Lv117700841 分钟前
Visual Studio 中的密封类和静态类
ide·笔记·c#·visual studio
EniacCheng3 小时前
【RUST】学习笔记-整型
笔记·学习·rust
断剑zou天涯3 小时前
【算法笔记】树状数组IndexTree
java·笔记·算法
北岛寒沫4 小时前
北京大学国家发展研究院 经济学辅修 经济学原理课程笔记(第九课 公共产品与公共资源)
经验分享·笔记
Vizio<4 小时前
STM32HAL库开发笔记-STM32CubeMX点灯
笔记·stm32·嵌入式硬件
找方案4 小时前
hello-agents 学习笔记:智能体发展史 —— 从符号逻辑到 AI 协作的进化之旅
人工智能·笔记·学习·智能体·hello-agents
蒙奇D索大4 小时前
【数据结构】考研408 | 平方探测法精讲:跳跃探查的艺术与聚集迷思
数据结构·笔记·考研·改行学it
代码游侠4 小时前
应用——Linux进程通信与信号处理
linux·运维·服务器·笔记·学习·信号处理
AI视觉网奇4 小时前
Ue5 端上 搭建笔记
笔记·ue5
d111111111d5 小时前
在STM32中,中断服务函数的命名有什么要求?
笔记·stm32·单片机·嵌入式硬件·学习·c#