首页 > 解决方案 > 你用之前在 python 中使用过的名称创建了一个对象会发生什么?

问题描述

我正在循环中创建对象,并且在循环计数器向前移动后我没有使用它们。伪代码应如下所示:

for i in range(N):
    A=object_creator(a,b,c[i])
    some_array[i]=A.some_function()

我应该del A在循环中包含一个命令来保存内存,还是因为它的引用被重用,内存是否被释放?

抱歉,如果这是一个重复的问题。

标签: python

解决方案


简而言之,不,您不需要包含del A. 有关完整的解释,我建议您在这里查看:https ://www.geeksforgeeks.org/garbage-collection-python/

从第一段开始:

Python 的内存分配和释放方法是自动的。与在 C 或 C++ 等语言中使用动态内存分配类似,用户不必预先分配或取消分配内存。

这是 Python 的内部垃圾收集——它会自动清理未引用对象的内存。作为一般规则,尽量避免使用del


推荐阅读