__new__
是一个静态方法,而__init__
是一个实例方法.返回值的不同:__new__
方法会返回一个创建的实例,而__init__
什么都不返回.- 执行顺序的不同:只有在
__new__
返回一个cls的实例时后面的__init__
才能被调用. - 功能上的不同:当创建一个新实例时调用
__new__
,初始化一个实例时用__init__
.
__init__称为初始化方法,其工作是构造本类的新对象。__init__ 是个构造方法。
__new__
是一个静态方法,而__init__
是一个实例方法.返回值的不同:__new__
方法会返回一个创建的实例,而__init__
什么都不返回.__new__
返回一个cls的实例时后面的__init__
才能被调用.__new__
,初始化一个实例时用__init__
.__init__称为初始化方法,其工作是构造本类的新对象。__init__ 是个构造方法。