Qualsiasi idea se c'è un modo per rendere il seguente codice per lavorareModifica istanza di classe all'interno di un metodo di istanza
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
è qualcosa di simile al seguente sicuro da usare per gli oggetti più complessi (come i modelli Django, a caldo scambiare la voce db a cui l'istanza fa riferimento)
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
Perché? Vuoi chiaramente una nuova istanza, perché non creare una nuova istanza e buttarla via? Spiega l'usecase, per favore. –