在python中通过引用访问变量 我不确定这在Python中是否有意义,但是考虑到我有两个变量 x和 y>代码>: x = 1 y = x

在python中通过引用访问变量 我不确定这在Python中是否有意义,但是考虑到我有两个变量 x和 y>代码>: x = 1 y = x,python,pointers,reference,Python,Pointers,Reference,现在,在稍后更改x时,我希望y看到此更改。如果我这样做的话 x = 2 我希望y也为2。是否有办法执行reference(x)=2,以便分配给x的所有变量都将看到此更改 实现这一点的一种方法是对所描述的所有内容使用列表。如果我将x定义为list,那么这就行了,如果 x = [1] y = x 然后,对新列表中的val执行x.clear()和x.append(val)将有效,并且y将根据新列表进行更改 但我希望对任何类型都这样做,因为否则我将需要重新访问我的大部分代码库。是否存在可变类型,以便

现在,在稍后更改
x
时,我希望
y
看到此更改。如果我这样做的话

x = 2
我希望
y
也为2。是否有办法执行
reference(x)=2
,以便分配给
x
的所有变量都将看到此更改

实现这一点的一种方法是对所描述的所有内容使用列表。如果我将
x
定义为list,那么这就行了,如果

x = [1]
y = x
然后,对新列表中的val执行
x.clear()
x.append(val)将有效,并且
y
将根据新列表进行更改

但我希望对任何类型都这样做,因为否则我将需要重新访问我的大部分代码库。是否存在可变类型,以便我不必将所有的
y
重新定义为
x[0]


非常感谢您的任何建议。

是否可以为您的值创建一个小型包装类?然后,“通过引用”传递包含该值的对象

输出:

5 5
3 3

也许为您的值创建一个小包装器类?然后,“通过引用”传递包含该值的对象

输出:

5 5
3 3

我不明白你为什么真的想要这个。您是在从另一种语言或其他东西重构代码吗?要将其放到上下文中,我有一个
PyQt
tableView,其中其模型包含一些数据。现在,用户可以随时更改模型的数据(类型或值)。我有一些线程在后台运行,这些线程使用程序开始时表的模型数据。如果用户更改了数据,我宁愿它自动反映在其他线程和类中,而不必重新阅读模型。你指的是
y=copy.deepcopy(x)
?可能重复的@damores不是真的。。。我提到这个答案是可能的解决方案,但我在寻找不同的答案。我想我所要求的懒散的出路是不可能的。我不明白你为什么真的想要这个。您是在从另一种语言或其他东西重构代码吗?要将其放到上下文中,我有一个
PyQt
tableView,其中其模型包含一些数据。现在,用户可以随时更改模型的数据(类型或值)。我有一些线程在后台运行,这些线程使用程序开始时表的模型数据。如果用户更改了数据,我宁愿它自动反映在其他线程和类中,而不必重新阅读模型。你指的是
y=copy.deepcopy(x)
?可能重复的@damores不是真的。。。我提到这个答案是可能的解决方案,但我在寻找不同的答案。我想我所要求的懒惰的出路是不可能的。