【发布时间】:2016-09-21 00:17:36
【问题描述】:
我对 python 中的变量赋值问题感到困惑。我试着在网上找了pages关于this issue,但我还是不明白。
假设我为变量分配了某个值:
v = 2
Python 在某个内存位置保留了一个位置,其值为2。我们现在知道如何通过为它分配一个变量名来访问那个特定的内存位置:v
如果是这样,我们这样做:
v = v + 4
将使用值6 (2+4) 归档一个新的内存位置,所以现在要访问这个值,我们将变量v 绑定到它。
这是正确的,还是完全不正确的?
内存位置中的初始值2 会发生什么?它不再绑定到任何变量,所以不能再访问这个值了?这是否意味着在接下来的几分钟内,这个内存位置将被垃圾收集器释放?
感谢您的回复。
编辑:
v = 2 和 v = v + 2 只是简单的示例。在我的例子中,我有一个非 python 原生对象,而不是 2 和 v+2,它的重量可以从几十兆字节到 400 兆字节不等。
我很抱歉没有在一开始就解决这个问题。我不知道整数和其他类型的对象有区别。
【问题讨论】:
标签: python variables variable-assignment