__new__方法:用于定义创建对象时执行的操作.
object类中的__new__()方法完成对象创建过程中的内存空间申请,对象属性初始化等一系列的操作.
注意:__new__()方法仅仅是python开放出来给用户干预创建对象时的一个操作入口,该方法并不是直接完成分配内存,创建对象的操作,创建对象的操作由python底层统一管理.
例:
class User:
def __new__(cls, *args, **kwargs):
print("user new method is running...")
#创建对象由object完成
instance = object.__new__(User)
return instance
def __init__(self,name,age):
print("user init method is running...")
self.name = name
self.age = age
user1 = User("王二小",18)