单例模式
介绍
单例模式核心主要是保证一个类只有一个实例,并且提供一个全局访问点,为什么要这么做呢?在具体代码运行前还是要说明一下我们的计算机构成和代码运行机制以便于我们更好的理解单例模式的作用。
冯诺依曼体系[^1]
python的变量无需声明,无需指定类型,我们程序员也无需掌握内存管理机制,对于python的处理我们可以简单嵌套冯诺依曼体系。
下面来说明一下处理过程,以下面例子来具体说明
a="ABC"
b=a
a="XYZ"
"""
step1:开辟内存空间,存储数据10类型属于int,变量a指向了"ABC"
step2:创建变量b,指向a指向的int类型的10
step3:创建int类型的"XYZ",并且变量a指向了"XYZ"
"""
小结:总体来说也就是我们单例模式就是为了减少内存的开支创建一次对象即可
实例
"""
1. 使用__new__方法进行类的构造,构造完成后使用类变量进行标识
2. 使用__init__初始化前防止反复调用使用类变量进行标识
"""
class My_Single():
_obj=None #类属性
_init_Flag =True
def __new__(cls, *args, **kwargs):
if cls._obj ==None:
cls._obj =object.__new__(cls)
return cls._obj
def __init__(self,name):
if My_Single._init_Flag:
print ("______init______")
self.name = name
My_Single._init_Flag = False