Singleton Pattern

Demonstrate a simple Singleton pattern implementation in Python.

PythonIntermediate
Python
# Program to implement a simple Singleton pattern

class Singleton:
    _instance = None

    def __new__(cls, *args, **kwargs):
        if cls._instance is None:
            cls._instance = super().__new__(cls)
        return cls._instance


s1 = Singleton()
s2 = Singleton()

print(s1 is s2)

Output

True

Overriding new ensures that only one instance of Singleton is ever created.