【问题标题】:how is self different in __init__ vs a standard instance method [duplicate]__init__ 中的 self 与标准实例方法有何不同[重复]
【发布时间】:2020-08-19 22:24:13
【问题描述】:

考虑这个简单的类:

class A:
    def __init__(self):
        pass

    def afunc(self):
        pass

通常 self 是对对象的引用,但 init 函数负责创建对象,那么 self 怎么可能是对不存在的东西的引用呢?这两个函数的self有什么区别?

【问题讨论】:

  • “负责创建对象” - 不,不是。它负责在创建后初始化__new__,这是一个类方法,创建对象。

标签: python object constructor initialization


【解决方案1】:

__init__ 被调用时,self确实存在。
__init__ 用于初始化,__new__ 创建它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-12-13
    • 2014-11-28
    • 2018-12-04
    • 1970-01-01
    • 2016-10-14
    • 1970-01-01
    • 2015-05-23
    相关资源
    最近更新 更多