Python内存免费

Met*_*eor 4 python memory-management python-3.x jupyter-notebook

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

b = 10
id(b)   # it shows 1935260400
Run Code Online (Sandbox Code Playgroud)

然后我改变了b的值:

b = 11
id(b)  # it shows 1935260432
Run Code Online (Sandbox Code Playgroud)

之后,我再次改变了b:

b = 10
id(b)  # it still shows 1935260400,why is it same with first time?
Run Code Online (Sandbox Code Playgroud)

这是问题,第一次b = 10,然后第二次b = 11,为什么第三次的id(b)与第一次相同?值10仍然在内存中吗?如何释放值10占用的内存?

Ola*_*idt 7

简单整数对象的 python文档中,这是解释.看看这里.-5到256之间的值的引用保持不变,因此当您更改变量时 - 它实际上指向该引用.

如果超出该范围,您可能会遇到不同的行为.