Python __new__和__init__

旧街凉风 提交于 2020-03-03 20:03:57

__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>
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!