相关疑难解决方法(0)

如果两个变量指向同一个对象,为什么不重新分配一个变量会影响另一个变量?

我试图了解变量如何在python中工作。说我有一个对象存储在变量中a:

>>> a = [1, 2, 3]
Run Code Online (Sandbox Code Playgroud)

如果我分配a给b,则它们都指向同一个对象:

>>> b = a
>>> b is a
True
Run Code Online (Sandbox Code Playgroud)

但是,如果我重新分配a或b,那就不再正确了:

>>> a = {'x': 'y'}
>>> a is b
False
Run Code Online (Sandbox Code Playgroud)

这两个变量现在具有不同的值:

>>> a
{'x': 'y'}
>>> b
[1, 2, 3]
Run Code Online (Sandbox Code Playgroud)

我不明白为什么变量现在不同。为什么a is b不再是真的?有人可以解释发生了什么吗?

python variables reference variable-assignment

3
推荐指数
1
解决办法
212
查看次数