单例模式 是一种常用的软件设计模式 目的:确保某一个类只有一个实例存在
如果希望在一个系统中 某个类只能出现一个实例的时候,那么这个单例对象就满足要求
class DabateClass(object):
def __new__(cls, *args, **kwargs):
#cls._instance=cls.__new__(cls, *args, **kwargs)
#容易造成一个深度递归,应该调用父类的new方法
if not hasattr(cls,"_instance"):#如果不存在就创建
cls._instance=super().__new__(cls, *args, **kwargs)
return cls._instance
pass
a=DabateClass()
b=DabateClass()
print(id(a),id(b))
运行结果:
可见,这个对象只被创建一个。