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