我正在使用 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 關注
- 311 瀏覽
添加回答
舉報
0/150
提交
取消