# Outra forma de se implementar singleton, mostrando que a classe
# interna e na verdade desnecessaria e permitindo o uso de heranca.
# Obs: o dicionario e a chave para permitir heranca. Pense sobre isso.
class Singleton3(object):
_singletons = {}
def __new__(cls, *args, **kwds):
if not cls._singletons.has_key(cls):
cls._singletons[cls] = object.__new__(cls)
return cls._singletons[cls]