class MetaSingleton(type): def __init__(self,*args,**kwargs): self._instance = None super(MetaSingleton,self).__init__(*args,**kwargs) def __call__(self, *args, **kwargs): if self._instance is None: self._instance = super(MetaSingleton,self).__call__(*args,*kwargs) return self._instance class Singleton1(object,metaclass=MetaSingleton): pass s1 = Singleton1() s2 = Singleton1() print('singleton1',s1 is s2)
转载于:https://www.cnblogs.com/sanyoe/p/11444439.html