单例模式的意思就是一直使用类的同一个实例,他们在内存中的地址是一样的。举个例子:
class Foo:
__v = None
@classmethod
def get_instance(cls):
if cls.__v:
return cls.__v
else:
cls.__v = Foo()
return cls.__v
# 不要在使用 类()
obj1 = Foo.get_instance()
print(obj1)
obj2 = Foo.get_instance()
print(obj2)
obj3 = Foo.get_instance()
print(obj3)
就是使用的使用不需要使用类()去创建实例,对象obj1,obj2,obj3 都使用的是同一个实例。
obj1,obj2,obj3 三个对象的内容地址是一样的。