gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-04 09:11:25 24 4
gpt4 key购买 nike

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

age = 9999
del age

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

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

python will manage a free_list(python-2.7.3 source code:intobject.c line:45) to hold every memory alloc for a int object and will never dealloc it

最佳答案

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

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

关于python - 如果我删除一个字符串引用,python 会释放内存吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14548983/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com