Уничтожение объекта Singleton в PythonPython

Программы на Python
Anonymous
Уничтожение объекта Singleton в Python

Сообщение Anonymous »

У меня есть объект Singleton в Python:

Код: Выделить всё

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]

@classmethod
def destroy(cls):
del cls._instances[cls]

class MockObject(metaclass=Singleton):

def __init__(self, *args, **kwargs):
# various things
В какой-то момент мне хотелось бы уничтожить объект, поэтому я написал метод класса в метаклассе. Однако cls относится к метаклассу Singleton, а не к MockObject. Есть ли способ вызвать функцию уничтожения со значением MockObject?

Подробнее здесь: https://stackoverflow.com/questions/436 ... -in-python

Вернуться в «Python»