单例模式
前言
有一些对象我们只需要一个,比如说:线程池、缓存、对话框、处理偏好设置和注册表的对象、日志对象、充当打印机、显卡等设备的驱动程序的对象。这类对象只能有一个实例,如果制造出多个实例,就会导致很多问题产生,比如:程序的行为异常、资源使用过量,或者是不一致的结果
代码实现
'''
单例模式
'''
class Singleton(object):
def __int__(self): #初始化对象
pass
def __new__(cls, *args, **kwargs): #创建一个对象
if not hasattr(Singleton, "_instance"):
Singleton._instance = object.__new__(cls)
return Singleton._instance
obj1 = Singleton()
obj2 = Singleton()
print(obj1)
print(obj2)
# 运行结果
<__main__.Singleton object at 0x000000000277D5C0>
<__main__.Singleton object at 0x000000000277D5C0>