First page Back Continue Last page Overview Graphics

Singletons with Inheritance

We can also define singleton classes by inheriting from a Singleton class:

class Singleton(object):

_instance = None

def __new__(cls, *args, **kwargs):

if not cls._instance:

cls._instance = object.__new__(cls, *args, **kwargs)

return cls._instance

class SingletonClass(Singleton):

pass

class RegularClass():

pass

x = SingletonClass()

y = SingletonClass()

print(x == y)

x = RegularClass()

y = RegularClass()

print(x == y)

True

False