单例模式就像电脑的任务管理器一样,无论开多少次只有一个窗口;
在python中也有这样的约束,
__new__方法就是用来约束一个类是否可以创建对象以及几个对象;
__new__如果没有返回值则不能创建对象.
下面写一个最简单的单例模式
class Animal(object): response=None def __new__(cls, *args, **kwargs): if cls.response == None: cls.response= object.__new__(cls) return cls.response
最简单的单例模式只有五行;只能创建一个对象,如果创建两个第二个会返回None