单例模式

孤者浪人 提交于 2019-12-05 20:28:46

class MySQL(object):

    __instance  = None  #定义一个变量存实例
 
    def __new__(cls, *args, **kwargs):#重写__new__方法
        if cls.__instance:      #判断如果这个实例的值不为空
            return cls.__instance #就返回这个实例
        cls.__instance = super().__new__(cls)  #走到下面说明是第一次实例化,就调用父类的__new__函数实例化这个类,存到__instance变量里
        return cls.__instance #然后返回这个实例
 
m = MySQL()
print('第一次实例化m',m)
k = MySQL()
print('第二次实例化k',k)
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!