Python __init__ 与 __new__ 方法的理解

在 Python中 类是我们经常接触的东西      今天我来讲一下   我对于  类对象中  __init__ 与 __new__ 方法的理解   可能有很多不到位的地方  还请指点

__init__   使我们常见的   实例属性的初始化    初始化也可以理解为 为一个对象赋值吧 如 a = 1,    

__new__  主要作用是 创建类的对象   继承之object父类

 

 我们通用小段代码理解一下吧  看看其中的关系

Python __init__ 与 __new__ 方法的理解这两者的

 我们可以用 debug 跑一下     首先 在用类创建实例对象的时候  先进入__new__方法创建实例对象 由此可知  __new__ 比__init__ 放法 先调用   

Python __init__ 与 __new__ 方法的理解

通过这样看 创建好对象并没有直接给到a 也就是还没有实例化   而A中的(1,2) 对象属性传其实给了 __new__ 中的 *args   而后在__init__ 取其中的 *args 的对象属性 进行 初始化