__init__作为构造函数?

Vaibhav Bajpai:

深入Python -

将其称为类的构造函数将很诱人,但不正确。这很诱人,因为它看起来像一个构造函数(按照惯例,__init__是为该类定义的第一个方法),就像一个构造函数(这是在新创建的类实例中执行的第一段代码),甚至听起来像一个( “ init”无疑暗示了一种类似构造函数的性质)。错误的,因为调用时已经构造了对象__init__,并且您已经具有对类的新实例的有效引用。

引用表明,将其__init__作为构造函数调用是不正确的,因为在调用时该对象已被构造__init__但!我一直给人的印象是,构造函数仅在构造对象之后才调用,因为它本质上用于初始化实例的数据成员,如果在构造函数被调用时对象不存在,这将是没有意义的(来自C ++ / Java背景)

伊格纳西奥·巴斯克斯(Ignacio Vazquez-Abrams):

如果您有课程,Foo那么:

  • Foo()构造函数
  • Foo.__init__()初始值设定项
  • Foo.__new__()分配器

Python对象的构建只是分配一个新实例,然后初始化该实例。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章