我对Python中的变量赋值问题感到困惑。我试着在互联网上查找关于这个问题的资料,包括页面,但是我仍然不理解它。
假设我将某个值赋给变量:
Python在某个内存位置中保留了一个值为2的位置。我们现在知道如何通过给它分配一个变量名来访问该特定的内存位置:
如果我们这样做:
一个新的内存位置将被填充值为
这是正确的吗,还是完全错误的?
那么初始值
谢谢您的回复。
编辑:
很抱歉没有在一开始就清楚说明这一点。我不知道整数和其他类型对象之间有区别。
假设我将某个值赋给变量:
v = 2
Python在某个内存位置中保留了一个值为2的位置。我们现在知道如何通过给它分配一个变量名来访问该特定的内存位置:
v
。如果我们这样做:
v = v + 4
一个新的内存位置将被填充值为
6
(2+4),现在要访问这个值,我们将变量v
绑定到它上面。这是正确的吗,还是完全错误的?
那么初始值
2
在内存位置上会发生什么?它不再绑定到任何变量上,因此无法再访问该值?这是否意味着在接下来的几分钟内,垃圾收集器将释放该内存位置?谢谢您的回复。
编辑:
v = 2
和v = v + 2
只是简单的例子。在我的情况下,我有一些非Python本地对象,它们的大小可以达到几十兆字节,甚至高达400兆字节。很抱歉没有在一开始就清楚说明这一点。我不知道整数和其他类型对象之间有区别。
赋值语句...将一个值复制到变量中。
。赋值真的会将值复制到变量中吗?还是它实际上只是指向该值(在内存位置中)?这两个概念是不同的。这是链接:https://en.wikipedia.org/wiki/Assignment_%28computer_science%29
- marco