python:singleton
문서의 이전 판입니다!
Python: Singleton
# class Singleton(type): # _instances = {} # def __call__(cls, *args, **kwargs): # if cls not in cls._instances: # cls._instances[cls] = super(Singleton, cls).__call__(*args, **kwargs) # return cls._instances[cls] class Singleton(type): _instances = {} def __call__(cls, *args, **kwargs): cls._instances.setdefault(cls, super().__call__(*args, **kwargs)) return cls._instances[cls] # Python2 class MyClass(BaseClass): __metaclass__ = Singleton pass # Python3 class MyClass(BaseClass, metaclass=Singleton): pass # Test for x in range(5): MyClass().x = x print(MyClass().x)
* http://stackoverflow.com/questions/6760685/creating-a-singleton-in-python
python/singleton.1615564305.txt.gz · 마지막으로 수정됨: (바깥 편집)