单例模式:
确保一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。
类中有一个静态属性__instance,默认为none,重构__new__()方法,判断__instance是否为空,若为空则
Singleton.__instance = object.__new__(cls,*args,**kwargs),若不为空则证明该类已经被创建了实例,则此时将返回__instance,实现单例模式。
class Singleton(object): __instance = None def __init__(self): pass def __new__(cls, *args, **kwargs): if not Singleton.__instance: Singleton.__instance = object.__new__(cls,*args, **kwargs) return Singleton.__instance class Commoncls(object): pass obj1,obj2 = Singleton(),Singleton() obj3,obj4 = Commoncls(),Commoncls() if obj1 == obj2: print('两个是一样的') else: print('两个不是一样的') if obj3 == obj4: print('两个是一样的') else: print('两个不是一样的')