__init__()方法又被称为构造器(constructor)。__init__ as a constructor?称其为类的构造函数是很诱人的但是不正确的,它是诱人的,因为它看起来像一个构造函数(按照惯例,__init__是类的第一个方法)它的行为类似于(它是在一个新创建的类实例的第一段代码)甚至听起来像一个(init 当然暗示了一种类似于构造函数的性质)不正确的,因为在调用__init__时对象已经被构造,你已经有一个正确的引用到一个类的实例Quote表明 把__init__称为一个构造器是不正确的,因为对象是已经在调用__init__前构造好了。但是,我一直认为 构造函数被调用只有在对象被构造时 因为它本质上是用于初始化实例的数据成员,在C++中,对象是不完整的 当构造器被调用时,实际上,根据docs.python.org/reference/datamodel.html#basic-customizationFoo() 是一个构造器表达式,Foo.__init__ 是一个构造器 将其称为类的构造函数是很诱人的但是不正确的,它很诱人,因为它看起来像一个构造器(按照惯例,
它是类中定义的第一个方法)表现类似于一个(它是新创建类实例的一段代码),甚至听起来像(init 暗示了一个构造函数的性质)不正确的,因为在调用__init__的时间点 对象已经被构建了你已经有了一个正确的引用到类的新实例 Quote 建议是不正确的调用__init__ 作为一个构造器 因为对象已经构建好了 在__init__被调用的时候 。但是 我一直认为 构造器被调用只有在对象被构造时 因为它本质上是用来初始化实例数据在C++ 对象是不完整的 当构造器被调用时,如果一个Python 基于 class 调用一个方法,在子类中重写那个方法使用的属性 没有被设置(因为 他们的初始化发生在调用基类构造器 在子类构造函数中)在C++,当一个构造器 被调用一个实例是已经分配了内存但是没有填充任何值 这是一个术语问题,不是技术问题。 我们是习惯于其他语言的构造器f you have a class Foo then:Foo() is
详细解决方案
__init__不是构造函数
热度:70 发布时间:2024-02-06 15:28:24.0
相关解决方案