__init__方法在python中返回什么

tez*_*tez 17 python

class Num:
   def __init__(self,num):
      self.n = num
Run Code Online (Sandbox Code Playgroud)

我读到该__init__方法返回None.当我执行时a=Num(5),Num(5)将调用类的__init__方法.但是如果__init__ 返回Nonea应该引用nothing.But 而是a引用NumClass 的对象.它是如何发生的?那么__init__返回None还是类的对象?

Ign*_*ams 36

__init__()回报None.它__new__()返回新实例.

  • +1(正确)似乎你的困惑源于认为`__init __()`是实例化对象时唯一被调用的方法; `a = Num(5)`与`a = Num .__ init __(5)`不同(注意第二个不起作用). (6认同)