__new__ 是什么鬼

在类实例化对象的时候  会执行__init__   在这之前会执行__new__  一定注意 在__init__之前执行 你可以在这搞点事情

class test(Object):

  def__init__(self,name):

    self.name = name

  def __new__(cls.*args,**kwargs)

    print("new")

    return object.__new__(cls)#这句话的意思是去继承父亲的 new方法

#如果这句话注释掉,那么 init是不会执行的 不能正常实例化对象

说明了 实例化对象时通过new调用 init来实现的

posted on 2018-04-03 17:48  勇往直前的python小白  阅读(127)  评论(0编辑  收藏  举报

导航