代码点读机 / Python / self

self Python · 常用约定

`self` 是类中方法的第一个参数,代表当前对象实例。类似于指代自己的一个称谓,比如我、吾、咱、咱家,这些指代的都是你自己。在类中,通过 `self` 可以访问和修改对象的属性。

怎么用

在类定义的方法中,第一个参数写 `self`,然后通过 `self.属性` 访问。

小例子

class 猫:
    def __init__(self, 名字):
        self.名字 = 名字   # 把名字绑定到当前对象
    def 叫(self):
        print(f"{self.名字}喵喵叫")
猫1 = 猫("小白")
猫1.叫()

运行结果

小白喵喵叫

对比:不用 self 就无法区分不同对象的属性

class 猫:
    def 设置名字(self, 名字):
        名字 = 名字   # 这里只是局部变量,不会保存到对象上
必须用 `self.名字` 才能把数据存在对象里。

常见使用场景

1. 类的所有实例方法都必须有 `self` 参数。
2. 访问当前对象的属性和方法。
3. 在方法内调用其他方法:`self.其他方法()`。

提醒:- `self` 不是关键字,只是一个约定俗成的名字,你也可以用别的名字,但强烈建议用 `self`。 - 调用实例方法时不需要手动传 `self`,Python 会自动传入。 - 类方法使用 `cls`,静态方法不需要 `self`。

官方文档:https://docs.python.org/zh-cn/3/tutorial/classes.html

在代码里遇到不认识的词?打开代码点读机,点一下就懂 → ← Python全部词条