# Implementacao de singleton baseada em classe interna e # delegacao atraves de alteracao em __getattr__ class Singleton1: class _Singleton1: def __init__(self, arg): self.val = arg def __str__(self): return `self` + self.val _instance = None def __init__(self, arg): if not Singleton1._instance: Singleton1._instance = Singleton1._Singleton1(arg) else: Singleton1._instance.val = arg def __getattr__(self, name): return getattr(Singleton1._instance, name)