Python __new__和__init__

__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>
发布了39 篇原创文章 · 获赞 2 · 访问量 558

猜你喜欢

转载自blog.csdn.net/qq_39583550/article/details/104630784