因为最近的项目多次涉及到了单例模式,所以做个小笔记。
老师之前用到的只是在整个项目中的某一个文件自定义一个类,然后在该py文件中实例化一个对象,别的文件调用这只实例化过一次的类的对象就叫他单例模式,提出质疑
目前只会一种真正的单例模式:
class single_instance(object): __instance=None def __init__(self): pass def __new__(cls, *args, **kwargs): if cls.__instance==None: cls.__instance=object.__new__(cls,*args,**kwargs) return cls.__instance a=single_instance() b=single_instance() print(a) print(b) 输出结果如下: <__main__.singleton object at 0x0000016D5191D320> <__main__.singleton object at 0x0000016D5191D320>