python - 你用之前在 python 中使用过的名称创建了一个对象会发生什么?
问题描述
我正在循环中创建对象,并且在循环计数器向前移动后我没有使用它们。伪代码应如下所示:
for i in range(N):
A=object_creator(a,b,c[i])
some_array[i]=A.some_function()
我应该del A
在循环中包含一个命令来保存内存,还是因为它的引用被重用,内存是否被释放?
抱歉,如果这是一个重复的问题。
解决方案
简而言之,不,您不需要包含del A
. 有关完整的解释,我建议您在这里查看:https ://www.geeksforgeeks.org/garbage-collection-python/
从第一段开始:
Python 的内存分配和释放方法是自动的。与在 C 或 C++ 等语言中使用动态内存分配类似,用户不必预先分配或取消分配内存。
这是 Python 的内部垃圾收集——它会自动清理未引用对象的内存。作为一般规则,尽量避免使用del
。
推荐阅读
- java - How to check is there a row with getOne function
- javascript - Make an image responsive inside a relative positioned container
- java - 将扫描仪输入保留在控制台底部
- google-cloud-dataflow - DataflowRunner pipeline error - Unable to rename
- json - 将 JSON 转换为具有两个索引的数据框
- mysql - Primary Key Syntax
- javascript - 为不同的任务创建一个新的 VSCode 扩展
- python - 如何使用 python 从列表中加载多个 JSON 文件中的数据?
- javascript - Tabulator 自定义格式化程序中的 React 组件
- javascript - 带箭头函数的 setState 如何更改不在数组中的对象