1、单例模式核心思想
实例只能创建一次(真正的new方法只能执行一次),
只能初始化一次,这样这个类创建的对象就永远是同一个, 多次调用的实例对象内存的地址相同,,从而实现数据或功能的共享
2、单例模式核心代码
class 类名:
__instance = None # 记录创建好的实例对象
__has_init = False # 标记实例对象是否已经初始化
def __new__(cls, *args, **kwargs): # 创建并返回一个实例对象
if cls.__instance is None: # 如果实例为None,代表类中不包含实例,创建实例,否则返回类中已创建的实例(即第一次new的实例对象)
cls.__instance = object.__new__(cls)
return cls.__instance
def __init__(self):
if 类名.__has_init is False:
self.属性 = 200
类名.__has_init = True