python中中__new__和__init__区别
时间: 2023-09-03 20:14:28 浏览: 100
Python中__init__和__new__的区别详解
在Python中,`__new__`和`__init__`是两个特殊的方法,用于对象的创建和初始化。
`__new__`方法是一个类级别的方法,用于创建一个新的实例对象。它是在对象实际创建之前调用的,并且必须返回一个新的实例对象。`__new__`方法通常用于控制对象的创建过程,例如在单例模式中,可以在`__new__`方法中检查对象是否已经存在并返回已存在的实例。
`__init__`方法是一个实例级别的方法,用于对象的初始化。它在对象创建之后调用,并且接收对象作为第一个参数(通常被称为self)。`__init__`方法可以在对象创建后进行一些必要的设置和初始化操作,例如给对象的属性赋初值。
简而言之,`__new__`方法负责创建对象,而`__init__`方法负责初始化对象。`__new__`方法是类级别的,而`__init__`方法是实例级别的。
阅读全文