Kann ich mit Python eine Referenz auf eine Referenz speichern, sodass ich ändern kann, worauf diese Referenz in einem anderen Kontext verweist? Zum Beispiel nehme ich die folgende Klasse haben:Einen Verweis auf eine Referenz in Python speichern?
class Foo:
def __init__(self):
self.standalone = 3
self.lst = [4, 5, 6]
würde Ich mag etwas analog zu folgendem erzeugen:
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
Derart, dass der folgende Code
f = Foo()
rStandalone = Reassigner(f.standalone) # presumably this syntax might change
rIndex = Reassigner(f.lst[1])
rStandalone.reassign(7)
rIndex.reassign(9)
würde dazu führen, f.standalone
entspricht 7
und f.lst
entspricht [4, 9, 6]
.
Im Wesentlichen wäre dies ein Analog zu einem Zeiger auf Zeiger.
Ich denke, der ganze Sinn von Referenzen ist, dass Sie nicht in der Lage sein sollten, nur zu tun . –
Wie beabsichtigen Sie dies zu nutzen? – FogleBird
Wenn Sie C++ wollen, wissen Sie, wo Sie es finden können ... – pydsigner