Alguna idea de si hay una manera de hacer el siguiente código para trabajarCambio instancia de clase dentro de un método de instancia
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
es algo como el siguiente seguro de usar para objetos más complejos (como modelos de Django, a caliente intercambie la entrada de db a la que hace referencia la instancia)
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
¿Por qué? Claramente quieres una nueva instancia, ¿por qué no crear una nueva instancia y descartarla? Explique el caso de uso, por favor. –