一、构造函数 __init__ 与__new__ __new__ 作用: 创建对象,并分配内存 __init__ 作用: 初始化对象的值 注意: 1、与java相比,java只有一个构造器。而python __new__ 方法与 __init__ 方法 组合,才
一、构造函数 __init__ 与__new____new__ 作用: 创建对象,并分配内存 __init__ 作用: 初始化对象的值 注意: 1、与java相比,java只有一个构造器。而python __new__ 方法与 __init__ 方法 组合,才能称为一个对应类似于java中的构造器 2、先执行__new__ ,创建对象,并分配内存. 再执行 __init__,初始化对象的值。 3、任何类都继承于object 类。 我们一般不重写__new__ 方法。 我们不重写,就默认调用父类 的 __new__ 方法。 4、__new__ 方法 ,一定要return 一个对象。 如果自己重写__new__ 方法,但是没有return出一个对象。连对象都没创建成功,后面是不会进行初始化对象的。 例子1:
运行结果,只执行了__new__ 方法,并没有执行 __init__方法。 为啥呢? 因为new函数,没有返回一个 对象。 正确的用法
打印结果:
|
2019-06-18
2019-07-04
2021-05-23
2021-05-27
2021-05-27