【问题标题】:Python memory free释放 Python 内存
【发布时间】:2017-11-19 01:08:35
【问题描述】:

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

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,第二次b = 11,为什么第三次的id(b)和第一次一样?值 10 是否仍在内存中?如何释放值10占用的内存?

【问题讨论】:

    标签: python python-3.x memory-management jupyter-notebook


    【解决方案1】:

    普通整数对象的python文档中对此进行了解释。看看here。 -5 到 256 之间的值的引用保持不变,因此当您更改变量时 - 它实际上指向该引用。

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

    【讨论】:

    • 此外,纯整数对象的 id 在会话之间是一致的(至少对于同一台机器)。
    • @James 为什么范围是 -5 到 256?
    猜你喜欢
    • 2013-03-05
    • 2023-03-30
    • 1970-01-01
    • 2011-05-10
    • 2016-05-22
    • 2023-04-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多