如果删除字符串引用,python 会释放内存吗?

rem*_*its 1 python

即使int值被删除,Python也会保留为int值分配的空间,如下所示:

age = 9999
del age
Run Code Online (Sandbox Code Playgroud)

内存中存储的变量age将用于存储其他int值,因此,永远不会为该内存调用free函数,但我不知道string对象是否使用相同的策略来管理内存?我的意思是字符串的内存分配永远不会被释放。

为什么 python 永远不会为 int 对象释放内存,请阅读此博客: http ://www.laurentluce.com/posts/python-integer-objects-implementation/

python 将管理一个 free_list(python-2.7.3 源代码:intobject.c line:45)来保存 int 对象的每个内存分配,并且永远不会释放它

Ned*_*der 5

Python 为您管理所有内存。如果一个值被名称引用,它将保留在内存中。一旦某个值不再被任何名称引用,解释器就可以自由回收内存。您不必担心这一点。

我不明白你的例子,也不明白为什么你认为“age”使用的内存会被再次使用。请记住,Python 名称与 C 变量不同:它们不代表分配的内存。它们是可以引用值的标签。