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 传入
相关推荐
U盘失踪了5 小时前
【笔记】Flask 用 session 对象存储用户状态
笔记
Brilliantwxx7 小时前
【C++】 vector(代码实现+坑点讲解)
开发语言·c++·笔记·算法
码途漫谈12 小时前
Easy-Vibe高级开发篇阅读笔记(五)——CC教程之Agent Teams
人工智能·笔记·ai·开源·ai编程
憧憬成为原神糕手12 小时前
FFmpeg 音视频开发笔记(一):H.264 解码为 YUV
笔记·ffmpeg·音视频
爱听歌的周童鞋12 小时前
Learn-Claude-Code | 笔记 | Collaboration | s11 Autonomous Agents
笔记·llm·agent·claude code·collaboration·autonomous
05候补工程师13 小时前
[线性代数] 判定线性相关性的“降维打击”:从基本定理到速通特殊法
经验分享·笔记·学习·线性代数·考研
sweetheart7-714 小时前
go/golang 入门学习笔记(Java/Python/C++转Go快速上手)
笔记·学习·golang·go语言
Byron__14 小时前
Java JVM核心知识点复习笔记
java·jvm·笔记
爱莉希雅&&&14 小时前
MySQL MGR + MySQL Router 高可用集群完整笔记(含手动配置 + Shell 接管双路线)
linux·数据库·笔记·mysql·mysqlrouter·mysqlshell
凉、介14 小时前
Armv8-A virtualization 笔记 (一)
c语言·笔记·学习·嵌入式·虚拟化·hypervisor