Python单例模式
day25
单例模式
1 class Foo: 2 __v = None 3 4 @classmethod 5 def get_instance(cls): 6 if cls.__v: 7 return cls.__v 8 else: # cls.__v = None,创建一个对象 9 cls.__v = Foo() 10 return cls.__v 11 #不用使用 类() 12 13 obj1 = Foo.get_instance() 14 print(obj1) 15 obj2 = Foo.get_instance() 16 print(obj2) 17 obj3 = Foo.get_instance() 18 print(obj3)
只创建一个对象。
执行结果:
<__main__.Foo object at 0x7fa7a75258d0> <__main__.Foo object at 0x7fa7a75258d0> <__main__.Foo object at 0x7fa7a75258d0> Process finished with exit code 0