https://python-3-patterns-idioms-test.readthedocs.io/en/latest/Singleton.html
https://python-patterns.guide/gang-of-four/singleton/
https://www.tutorialspoint.com/python_design_patterns/python_design_patterns_singleton.htm
How to implement a singleton class?
The following program demonstrates the implementation of singleton class where it prints the instances created multiple times.
class Singleton:
__instance = None
@staticmethod
def getInstance():
""" Static access method. """
if Singleton.__instance == None:
Singleton()
return Singleton.__instance
def __init__(self):
""" Virtually private constructor. """
if Singleton.__instance != None:
raise Exception("This class is a singleton!")
else:
Singleton.__instance = self
s = Singleton()
print(s)
s = Singleton.getInstance()
print(s)
s = Singleton.getInstance()
print(s)