Python 單例模式

單例模式

    class User(object):
	__instance = None
	def __init__(self, username):
		self.username = username
    
    # __new__必須要返回當前類的對象
	def __new__(cls, username):
		if not cls.__instance:
			cls.__instance = object.__new__(cls)

		return cls.__instance

    user1 = User("123")
    user2 = User("456")
    
    print(user1.username, user2.username)
    print(user1 == user2)
    
    print("user1的對象的內存地址: %s, user2對象的內存地址: %s"%(id(user1), id(user2)))


結果

    PHP PHP
    True
    user1的對象的內存地址: 2666585558040, user2對象的內存地址: 2666585558040

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章