รูปแบบซิงเกิลตันมีกลยุทธ์ในการจำกัดจำนวนของอินสแตนซ์ของคลาสเป็นหนึ่ง ดังนั้นอ็อบเจกต์เดียวกันจึงถูกแชร์โดยส่วนต่างๆ ของโค้ดเสมอ Singleton ถือได้ว่าเป็นโซลูชันที่หรูหรากว่าสำหรับตัวแปรส่วนกลาง เนื่องจากข้อมูลจริงถูกซ่อนอยู่หลังอินเทอร์เฟซของคลาส Singleton
โค้ดต่อไปนี้เป็นหนึ่งในวิธีสร้างคลาสซิงเกิลตันได้หลากหลายวิธี
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
มันคือคลาสที่แท้จริง