सिंगलटन पैटर्न क्लास के इंस्टेंस की संख्या को एक तक सीमित करने की रणनीति प्रदान करता है। इस प्रकार वही ऑब्जेक्ट कोड के विभिन्न हिस्सों द्वारा हमेशा शेयर किया जाता है। सिंगलटन को ग्लोबल वेरिएबल की तुलना में अधिक सुंदर समाधान माना जा सकता है क्योंकि वास्तविक डेटा सिंगलटन क्लास इंटरफेस के पीछे छिपा होता है।
निम्न कोड उन कई अलग-अलग तरीकों में से एक है जिनसे एक सिंगलटन क्लास बनाई जा सकती है:
class Singleton(object):
_instance = None
def __new__(class_, *args, **kwargs):
if not isinstance(class_._instance, class_):
class_._instance = object.__new__(class_, *args, **kwargs)
return class_._instance
class MyClass(Singleton, BaseClass):
pass
यह एक वास्तविक क्लास है।