首页 > 解决方案 > python如何传递Class/Instance中的第一个变量

问题描述

在我的课堂上:

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

python如何“知道”MyClass在执行以下操作时作为第一个参数传递给init:

MyClass()

同样,如果我有一个类方法,python 怎么会“知道”MyClass作为第一个参数(cls)传递呢?

标签: pythonpython-internals

解决方案


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

MyClass()

应该初始化一个MyClass对象并__init__以新创建的对象作为self参数调用方法。请注意,作为注释之一,分配给self参数的是新对象,而不是MyClass.

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


推荐阅读