我正在为 python 类使用单例,如下例所示
class GestionnaireUtilisateur(object):
__singleton = None
def __new__(cls, *args, **kwargs):
if not cls.__singleton:
cls.__singleton = super(GestionnaireUtilisateur, cls).__new__(cls, *args, **kwargs)
return cls.__singleton
def __init__(self):
self.compte = None
我可以使用以下方法修改 self.__compte
def connexion(self, compte):
self.compte = compte
在我的第一个对象 GestionnaireUtilisateur() 上,我调用方法 connexion('toto') 来修改 self.compte,结果很好。但是当我再次调用 GestionnaireUtilisateur() 时,self.compte 为 None 而不是我通过 connexion() 传递的值。
如果对象相同并且它们相同,我会进行测试。我有这个结果
<securecloud.utilisateur.gstutilisateur.GestionnaireUtilisateur object at 0xb73aad4c>
toto
<securecloud.utilisateur.gstutilisateur.GestionnaireUtilisateur object at 0xb73aad4c>
None
有人有想法吗?