Poichè il Python non prevede la possibilità di definire dei costruttori privati, è necessario utilizzare qualche stratagemma per evitare che venga creata più di una istanza della classe che si vuole definire come Singleton. Un'idea è quella di scatenare un'eccezione se esiste già un oggetto di classe Singleton attivo. Come oggetto dell'eccezione viene utilizzata la stessa istanza attiva della classe.
class Singleton: __istanza = None def __init__( self ): if Singleton.__istanza: raise Singleton.__istanza Singleton.__istanza = self def helloWorld(self): print 'Hello World' class UsaSingleton: s = Singleton() s.helloWorld()