python如何传递Class/Instance中的第一个变量

How does python pass the first variable in Class/Instance

在我的 class:

class MyClass:
    def __init__(self):
        self.title = None

python "know" 如何将 MyClass 作为第一个参数传递给 init 时:

MyClass()

同样,如果我有一个 class 方法,python "know" 如何将 MyClass 作为其中的第一个参数 (cls) 传递?

这就是解释器(或编译器)的编写方式。解释器(或编译器)的工作是识别

MyClass()

应该初始化一个 MyClass 对象,并以新创建的对象作为 self 参数调用 __init__ 方法。请注意,正如其中一条评论所述,它是分配给 self 参数的新对象,而不是 MyClass.

在您调用非初始化方法的情况下,解释器(或编译器)同样知道您正在调用方法,因此它将对象作为第一个参数。