控制类初始化和构建过程,两个函数的参数有区别(cls、self)
如果__new__
函数返回一个已经存在的实例(不论是哪个类的),__init__
不会被调用
_new__
方法主要是当你继承一些不可变的class时(比如int, str, tuple), 提供给你一个自定义这些类的实例化过程的途径
__new__
__init__
调用顺序:
先调用__new__
,再__init__
原文:https://www.cnblogs.com/zyl007/p/15085967.html