Używając języka Python, czy istnieje sposób przechowywania odniesienia do pliku referencyjnego, aby można było zmienić to, do czego odnosi się odwołanie w innym kontekście? Na przykład załóżmy, że mam następujące klasy:Przechowywanie odniesienia do odwołania w Pythonie?
class Foo:
def __init__(self):
self.standalone = 3
self.lst = [4, 5, 6]
chciałbym stworzyć coś analogicznego do następującego:
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
taka, że następujący kod
f = Foo()
rStandalone = Reassigner(f.standalone) # presumably this syntax might change
rIndex = Reassigner(f.lst[1])
rStandalone.reassign(7)
rIndex.reassign(9)
spowodowałoby f.standalone
równe 7
i f.lst
równe [4, 9, 6]
.
Zasadniczo byłby to wskaźnik analogiczny do wskaźnika do wskaźnika.
Myślę, że cały ten punkt odniesienia polega na tym, że nie można tego po prostu zrobić . –
Jak masz zamiar tego użyć? – FogleBird
Jeśli chcesz C++, wiesz, gdzie go znaleźć ... – pydsigner