Toute idée s'il y a un moyen de rendre le code suivant pour travaillerchangement instance de classe à l'intérieur d'une méthode d'instance
class Test(object):
def __init__(self, var):
self.var = var
def changeme(self):
self = Test(3)
t = Test(1)
assert t.var == 1
t.changeme()
assert t.var == 3
est quelque chose comme à une utilisation sûre ci-dessous pour des objets plus complexes (comme les modèles de django, à chaud permuter l'entrée db à laquelle l'instance fait référence)
class Test(object):
def __init__(self, var):
self.var = var
def changeme(self):
new_instance = Test(3)
self.__dict__ = new_instance.__dict__
t = Test(1)
assert t.var == 1
t.changeme()
assert t.var == 3
Pourquoi? Vous voulez clairement une nouvelle instance, pourquoi ne pas créer une nouvelle instance et jeter celle-ci? Expliquez l'usecase, s'il vous plaît. –