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)
python/singleton.txt · 마지막으로 수정됨: 2024/03/23 02:42 저자 127.0.0.1