这是构造函数还是方法

Rio*_*rio 1 python

__init__在python构造函数或方法?

在某个地方,它说构造函数和它说的方法,这是非常令人困惑的.

wim*_*wim 6

称之为方法是正确的.将其称为构造函数是不正确的,或者至多是不准确的.

具体来说,这是一种神奇的方法.它们也被称为特殊方法,"dunders"和其他一些名称.

此特定方法用于定义对象的初始化行为.它与构造函数不太相似,甚至不是第一个在新实例上调用的方法.

我们__init__用来设置已经创建的实例的状态.当我们使用语法A()创建类的实例时,它将自动调用A,这就是为什么有人可能会松散地将其称为"构造函数".但是责任__init__与实例构造无关,实际上__new__魔术方法在这方面更类似于构造函数.