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