password
URL
type
status
date
slug
summary
tags
category
icon
周起始
标签
是否汉化
python中 self cls
在 Python 中,self 和 cls 是用来表示类实例和类本身的特殊参数名,它们的主要区别在于它们的使用场景和表示的对象:
1. self 的作用
•self 是实例方法的第一个参数,表示当前实例对象。
•它用于在实例方法中访问或操作该实例的属性和方法。
•在调用实例方法时,Python 会自动将当前实例作为第一个参数传递给方法。
示例:
解释:
•self.value 访问的是实例的属性 value。
•obj.display_value() 等价于 MyClass.display_value(obj)。
2. cls 的作用
•cls 是类方法的第一个参数,表示当前类本身。
•它用于在类方法中操作类的属性或调用类方法。
•类方法使用装饰器 @classmethod 来声明。
示例:
解释:
•cls.class_variable 访问的是类的属性。
•类方法可以通过类本身或实例调用,但始终操作的是类级别的内容。
3. 主要区别
特性 | self | cls |
参数代表的对象 | 当前实例(instance) | 当前类(class) |
修饰方法的方式 | 无需修饰(默认) | 使用 @classmethod |
用于访问的内容 | 实例属性和实例方法 | 类属性和类方法 |
调用方式 | 通过实例调用 | 通过类或实例调用 |
4. self 和 cls 的联合使用
如果既需要访问实例属性,又需要访问类属性,可以同时使用 self 和 cls:
示例:
总结
•self:绑定到实例,操作实例级别的内容。
•cls:绑定到类,操作类级别的内容。
•实例方法默认以 self 为第一个参数,而类方法需要显式使用 @classmethod 装饰并以 cls 为第一个参数。
离开乏味的皮囊,自由的灵魂在路上
- Name: Alan Hsu
- Tag: 随感、技术、经验、旅行、推荐、生活、音乐、电影 etc.
- Email:xulanzhong521gmail.com
- Twitter:@AlanHsu521
- Telegram:@AlanHsu521
- WeChat: Alan_Hsu_521
- Github: https://github.com/xsoway/
- Blog: https://xmylog.com
- Author:Alan_Hsu
- URL:https://xmylog.com/article/articles_python_selfcls
- Copyright:All articles in this blog, except for special statements, adopt BY-NC-SA agreement. Please indicate the source!
Relate Posts