(python)__init__与__new__的区别
一、 __new__是类方法,是实例化类的方法, __init__是初始化实例参数的方法,是实例级别的方法 先调用new在调用init
二、
__new__不是一定要有的,只有继承自object的类才有, 子类如果没有重新定义__new__,会直接追溯至object的new方法,因为object是所有新式类的基类。 子类中如果新写了new,可以自由选择其他的新式类
三、
__new__必须有返回值,为实例对象 __init__没有
四、
参数不同,__new__的参数cls是当前了类
__init__的参数self是被new出来的实例
执行后