1.单例模式的意义:单例模式是指一个类只能有一个实例,在实际工作中我们可能要重复的调用一个函数,每创建一个对象就会开辟一个新空间来存储,这样会造成内存的浪费。同时单例模式有利于资源的统一管理。
2.单例模式的实际应用:
在Windows系统中只允许打开一个任务管理器,如果能打开多个的话,会造成对任务管理器中进行进程的误判,不知道哪个内容才是对的。同时,如果每次实例化对象时,如果不限制单例,那么会创建n个对象,造成内存浪费。
3.单例模式的精髓:
单例模式就是让实例化的对象始终指向一个内存地址,我们可以通过判断这个对象是否存在,如果已存在就返回已创建的那个对象,如果没有就新建一个。
4.单例模式的几种实现方法:
1)使用模块
class Singleton():
def func(self):
print('单例模式')
s=Singleton()
from Singleton import s
s.func()
解释:我们导入这个实例化对象,这个实例化对象就是单例对象,始终指向对象所在的内存空间;
2)通过装饰器实现
def singleton(cls):
_instance = {}
def inner():
if cls not in _instance: # 判断传进来的类名在不在字典中
_