即使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 对象的每个内存分配,并且永远不会释放它
Python 为您管理所有内存。如果一个值被名称引用,它将保留在内存中。一旦某个值不再被任何名称引用,解释器就可以自由回收内存。您不必担心这一点。
我不明白你的例子,也不明白为什么你认为“age”使用的内存会被再次使用。请记住,Python 名称与 C 变量不同:它们不代表分配的内存。它们是可以引用值的标签。
| 归档时间: |
|
| 查看次数: |
1597 次 |
| 最近记录: |