单例模式

单例模式的设计模式是什么?它有什么用?


单例模式保证一个类仅有一个实例,同时这个类还必须提供一个访问该类的全局访问点。

单例模式,新建多少个对象,内存地址都是一样的

什么是单例模式?它有什么用?_设计模式

在程序运行期间保证类的实例只有1个,例如数据库连接

单例模式能让程序使用内存急剧减少

class C:
__instance = None # 声明一个私有属性,为None,保存实例

# 重写默认__new__方法创建实例
def __new__(cls, *args, **kwargs):
if not cls.__instance: # 判断__instance是否为None,如果是则创建对象
cls.__instance = object.__new__(cls)
return cls.__instance

def f1(self):
print('C类')


if __name__ == '__main__':
c = C()
c1 = C()
# c和c1是一样的嘛?
print(c is c1) # True