引用計(jì)數(shù),這是Python的垃圾回收策略。補(bǔ)充一下。
解釋器(也就是你說的Shell)負(fù)責(zé)跟蹤對(duì)象的引用計(jì)數(shù),垃圾收集器負(fù)責(zé)釋放內(nèi)存。
如何釋放?可以通過銷毀對(duì)象的引用,使引用計(jì)數(shù)減少至0。假設(shè)x=3,以下情況會(huì)使3這個(gè)整型對(duì)象的引用計(jì)數(shù)減少;
函數(shù)運(yùn)行結(jié)束,所有局部變量都被銷毀,對(duì)象的引用計(jì)數(shù)也就隨之減少。例如foo(x)運(yùn)行結(jié)束,x被銷毀;當(dāng)變量被賦值給另一個(gè)對(duì)象
時(shí),原對(duì)象的引用計(jì)數(shù)也會(huì)減少。例如x=4,這時(shí)候3這個(gè)對(duì)象的引用計(jì)數(shù)就減1了;
使用del刪除一個(gè)變量也會(huì)導(dǎo)致對(duì)象引用減少。例如delx;
對(duì)象從集合對(duì)象中移除。例如lst.remove(x);
包含對(duì)象的集合對(duì)象被銷毀。例如dellst;
這些操作都可能使對(duì)象變成垃圾回收對(duì)象,由垃圾收集器負(fù)責(zé)收集,當(dāng)然垃圾收集器也負(fù)責(zé)處理循環(huán)引用對(duì)象。
以上內(nèi)容為大家介紹了python培訓(xùn)之如何清理內(nèi)存,希望對(duì)大家有所幫助,如果想要了解更多Python相關(guān)知識(shí),請(qǐng)關(guān)注IT培訓(xùn)機(jī)構(gòu):千鋒教育。