Python 等价于指针

ran*_*guy 6 python pointers reference

在 python 中,一切都是通过引用来工作的:

>>> a = 1
>>> d = {'a':a}
>>> d['a']
1
>>> a = 2
>>> d['a']
1
Run Code Online (Sandbox Code Playgroud)

我想要这样的东西

>>> a = 1
>>> d = {'a':magical pointer to a}
>>> d['a']
1
>>> a = 2
>>> d['a']
2
Run Code Online (Sandbox Code Playgroud)

你会用什么来代替指向 a 的神奇指针,以便 python 输出我想要的。

我很欣赏通用的解决方案(不仅适用于上述带有自变量的字典示例,还适用于其他集合和类/实例变量)

dan*_*ben 4

可变数据结构怎么样?

>>> a = mutable_structure(1)
>>> d = {'a':a}
>>> d['a']
1
>>> a.setValue(2)
>>> d['a']
2
Run Code Online (Sandbox Code Playgroud)

一个实现可能看起来像

class mutable_structure:
  def __init__(self, val):
    self.val = val

  def __repr__(self):
    return self.val
Run Code Online (Sandbox Code Playgroud)