单例模式

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

 

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)
posted @ 2019-11-27 20:54  面包树下的路人  阅读(96)  评论(0编辑  收藏  举报