国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

Python析構函數__del__定義原理解析

瀏覽:3日期:2022-07-04 17:07:07

析構函數__del__定義:在類里定義,如果不定義,Python 會在后臺提供默認析構函數。

析構函數__del__調用:

A、使用del 顯式的調用析構函數刪除對象時:del對象名;

class Foo: def __init__(self,x): self.x=x def __del__(self): #在對象資源被釋放時觸發 print(’-----del------’) print(self)f=Foo(100000)del f

B、當對象在某個作用域中調用完畢,跳出其作用域的同時析構函數也會被調用一次,這樣可以用來釋放內存空間。

class Foo:def __init__(self,x): self.x=x def __del__(self): #在對象資源被釋放時觸發 print(’-----del------’) print(self)f=Foo(100000)time.sleep(5) #time.sleep(5)執行完后,自動調用__del__()

注意:__del__只是刪除了對象的引用,比如上面del f 只是f對象不再執行實例數據的存儲空間了,實例數據并沒有被刪除,刪除實例數據需要python本身的垃圾回收機制;

垃圾回收機制

Python 采用垃圾回收機制來清理不再使用的對象;Python 提供gc模塊釋放不再使用的對象,Python 采用‘引用計數’ 的算法方式來處理回收,

即:當某個對象在其作用域內不再被其他對象引用的時候,Python 就自動清除對象;

Python 的函數collect()可以一次性收集所有待處理的對象(gc.collect())

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 威远县| 抚顺县| 栾川县| 广宗县| 周至县| 金门县| 灵川县| 宜君县| 泽州县| 错那县| 张掖市| 大兴区| 周至县| 珲春市| 磐石市| 墨脱县| 承德市| 临朐县| 五原县| 太仓市| 宁强县| 都兰县| 灯塔市| 永安市| 宁德市| 邵阳县| 松潘县| 巧家县| 泸定县| 鹤壁市| 历史| 齐齐哈尔市| 香格里拉县| 民丰县| 敖汉旗| 岑巩县| 任丘市| 大城县| 富阳市| 东明县| 余庆县|