单例模式

前言

有一些对象我们只需要一个,比如说:线程池、缓存、对话框、处理偏好设置和注册表的对象、日志对象、充当打印机、显卡等设备的驱动程序的对象。这类对象只能有一个实例,如果制造出多个实例,就会导致很多问题产生,比如:程序的行为异常、资源使用过量,或者是不一致的结果

代码实现

'''
单例模式
'''
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>
原文地址:https://www.cnblogs.com/my_captain/p/12841752.html