亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在 for 循環中銷毀實例時 Python 性能提升

在 for 循環中銷毀實例時 Python 性能提升

Go
嚕嚕噠 2021-06-29 13:04:39
我正在使用 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 實現的垃圾收集。


查看完整回答
反對 回復 2021-07-21
  • 2 回答
  • 0 關注
  • 311 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號