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 传入
相关推荐
四月天4312 小时前
web安全-SSTI(服务器模板注入)
笔记·学习·web安全·网络安全
疯狂打码的少年13 小时前
【操作系统】虚拟存储管理(局部性原理、缺页中断)
笔记
NULL指向我13 小时前
TMS320F28379D笔记5:CAN通信多邮箱配置
笔记
aaaameliaaa15 小时前
进制练习题【找出只出现一次的数字、交换两个变量(不创建临时变量)、统计二进制中1的个数、打印整数二进制的奇数位和偶数位、求两个数二进制中不同位的个数】
c语言·数据结构·笔记·算法
RainCity16 小时前
Java Swing 自定义组件库分享(十三)
java·笔记·后端
llllliznc19 小时前
LLM 学习笔记 Day 5:Agent 核心组件——Planner、Memory 与 Reflection
笔记·学习
risc12345619 小时前
“解决了什么痛点”与“为什么有这个东西”的关系?
笔记
hj28625119 小时前
Docker 容器化技术标准化笔记
java·笔记·docker
hyhsandy180319 小时前
STM32F103 TIM学习笔记
笔记·stm32·学习
栈溢出了19 小时前
Redis 消息队列笔记:List 与 Pub/Sub
redis·笔记·list