我正在使用 Python 脚本读取一些 ASCII 文件,操作它们的值并获得输出。计算是在类实例化中完成的,类似于伪形式def __init__(input) self.input = input self.output = function of input 伪代码,在问号之间有争议的部分,是open fileread linesfor each lines in file: split line construct class instance with input from split-line values store instance.output in a help variable (list) ?? delete class instance ??further processing of the help variableetc删除类实例是节省时间和内存的障碍还是机会?问题的规模很大(不到 100 万行)。我很清楚我宁愿从二进制文件中读入,但目前这是行不通的。另外,我选择类结构是因为它的优雅,也许随着脚本的发展,我可以从封装中获得更多的好处。但是,如果建议这样做,我可以在现阶段放弃它。
2 回答
慕后森
TA贡献1802条经验 获得超5个赞
当垃圾收集过程中没有更多引用时,Python 会自动为您销毁实例,因此您不应该自己执行此操作,除非您确实希望在仍有引用时删除该实例。
在您的情况下,每次迭代都会创建新实例,并且由于您仅将从实例派生的输出而不是实例本身存储到列表中,因此您不会在下一次迭代中保留对旧实例的任何引用,因此垃圾收集过程将以有效的方式为您销毁实例,因此您不必担心自己进行。自己做实际上会更慢,因为您将使用 Python 代码进行删除,而不是使用纯粹用 C 实现的垃圾收集。
- 2 回答
- 0 关注
- 264 浏览
添加回答
举报
0/150
提交
取消