python如何在类/实例中传递第一个变量
在我的班上:python如何在类/实例中传递第一个变量,python,python-internals,Python,Python Internals,在我的班上: class MyClass: def __init__(self): self.title = None 在执行以下操作时,python如何“知道”将MyClass作为第一个参数传递给init: MyClass() 同样,如果我有一个classmethod,python如何“知道”将MyClass作为第一个参数(cls)传递给它呢?这只是解释程序(或编译器)的编写方式。解释器(或编译器)的工作就是识别这一点 MyClass() 应该初始化一个MyCla
class MyClass:
def __init__(self):
self.title = None
在执行以下操作时,python如何“知道”将MyClass
作为第一个参数传递给init:
MyClass()
同样,如果我有一个classmethod,python如何“知道”将
MyClass
作为第一个参数(cls)传递给它呢?这只是解释程序(或编译器)的编写方式。解释器(或编译器)的工作就是识别这一点
MyClass()
应该初始化一个MyClass
对象,并使用新创建的对象作为self
参数调用\uuuuu init\uuuu
方法。请注意,正如其中一条注释所述,它是分配给self
参数的新对象,而不是MyClass
在调用非初始值设定项方法的情况下,解释器(或编译器)同样知道您正在调用一个方法,因此它将对象作为第一个参数。它不会将MyClass
作为第一个参数传递。\uuuuu new\uuuuu
方法实例化实际实例,然后\uuuuu init\uuuuu
初始化它。看见用self
对幕后发生的事情有很好的解释。