__new__
和 __init__
# __init__是实例级别的算法, __new__是类级别的算法
class User(object):
def __init__(self, username, password):
self.username = username;
self.password = password
print('对象已经构建好了')
#new该方法是当对象构建的时候由解释器自动回调的方法, 该方法必须"返回当前类的对象""
#new方法没有通过, 那么后面的就不会进行
def __new__(cls, username, password):
print("User类开始构建")
return object.__new__(cls)
user = User("chenjiang", "chenjiang")
print(user)
结果
User类开始构建
对象已经构建好了
<__main__.User object at 0x0000012508B38A90>