我使用一個單一蟒類如以下示例的Python的Singleton:相同的對象,但是值不同
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
我可以modifie自.__孔特以下方法
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
有人有一個idee?
改爲使用模塊。 http://stackoverflow.com/q/31875/10077 –