Utilizzo di Python, esiste un modo per memorizzare un riferimento a un riferimento, in modo da poter modificare ciò a cui fa riferimento tale riferimento in un altro contesto? Ad esempio, supponiamo di avere la seguente classe:Memorizzare un riferimento a un riferimento in Python?
class Foo:
def __init__(self):
self.standalone = 3
self.lst = [4, 5, 6]
Vorrei creare qualcosa di analogo a quanto segue:
class Reassigner:
def __init__(self, target):
self.target = target
def reassign(self, value):
# not sure what to do here, but reassigns the reference given by target to value
Tale che il seguente codice
f = Foo()
rStandalone = Reassigner(f.standalone) # presumably this syntax might change
rIndex = Reassigner(f.lst[1])
rStandalone.reassign(7)
rIndex.reassign(9)
comporterebbe f.standalone
uguale a 7
e f.lst
uguale a [4, 9, 6]
.
In sostanza, questo sarebbe un analogo a un puntatore al puntatore.
Penso che il punto di riferimento sia che non si dovrebbe essere in grado di farlo . –
Come intendete usare questo? – FogleBird
Se vuoi il C++, sai dove trovarlo ... – pydsigner