单例模式

单例模式的目的:该模式的主要目的是确保某一个类只有一个实例存在。无论实例化多少次,实例化出来的结果都是一样的。

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)
原文地址:https://www.cnblogs.com/wangyujian/p/11945375.html