天天看点

python 中 self 的含义

现象:Python编写类的时候,类成员函数的第一个参数都是self。

说明:首先明确的是self只有在类的方法中才会有,独立的函数或方法是不必带有self的。self在定义类的方法时是必须有的,虽然在调用时不必传入相应的参数。

self名称不是唯一固定的,在python中self不是关键词,你可以定义成a或b或其它名字都可以,但是约定成俗(为了和其他编程语言统一,减少理解难度),不要搞另类,大家会不明白的。使用 self 只是为了约定成俗。

解释:

self总是指向调用时的类的实例。

self在函数定义时需要定义,但是在调用时会自动传入。

self的名字并不是规定死的,但是最好还是按照约定是用self。

self 不写也是可以的,这个时候就相当于C++ 中的静态成员函数,属于类而不属于对象,该函数成为类方法。

self 在继承时,真正使用的实例是调用时传入的实例。