Python内存释放

4

我想释放一些内存,例如,我定义一个变量:

b = 10
id(b)   # it shows 1935260400

然后我改变了b的值:

b = 11
id(b)  # it shows 1935260432

之后,我再次改变了 b:

b = 10
id(b)  # it still shows 1935260400,why is it same with first time?

以下是需要翻译的内容:

以下是问题,b在第一次时等于10,然后在第二次时等于11,为什么第三次时id(b)与第一次相同?值10是否仍存储在内存中?如何释放值10所占用的内存?

1个回答

7
在Python的普通整数对象文档中解释了这一点。请到此处查看。值在-5和256之间的参考文献保持不变,因此当您更改变量时,它实际上指向该引用。
如果超出该范围,可以预期会有不同的行为。

此外,纯整数对象的ID在会话之间是一致的(至少对于同一台机器而言)。 - James
@James 为什么是范围在-5到256? - Abhijith Asokan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接