meta data for this page
  •  

This is an old revision of the document!


OOP

singletons

class MySingleton:
    instance = None
 
    def __new__(cls, *args, **kwargs):
        if not isinstance(cls.instance, cls):
            cls.instance = object.__new__(cls)
        return cls.instance
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 SerialNumber(metaclass=Singleton):