使用Python,是否有任何方法可以存储对引用的引用,以便我可以在另一个上下文中更改该引用所指向的内容?例如,假设我有以下类:
我希望创建类似以下内容的东西:
这会导致
class Foo:
def __init__(self):
self.standalone = 3
self.lst = [4, 5, 6]
我希望创建类似以下内容的东西:
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
下面的代码:
f = Foo()
rStandalone = Reassigner(f.standalone) # presumably this syntax might change
rIndex = Reassigner(f.lst[1])
rStandalone.reassign(7)
rIndex.reassign(9)
这会导致
f.standalone
等于7
和f.lst
等于[4, 9, 6]
。实际上,这相当于指向指针的指针。