單例模式
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