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

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

Python析構(gòu)函數(shù)__del__定義原理解析

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

析構(gòu)函數(shù)__del__定義:在類(lèi)里定義,如果不定義,Python 會(huì)在后臺(tái)提供默認(rèn)析構(gòu)函數(shù)。

析構(gòu)函數(shù)__del__調(diào)用:

A、使用del 顯式的調(diào)用析構(gòu)函數(shù)刪除對(duì)象時(shí):del對(duì)象名;

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

B、當(dāng)對(duì)象在某個(gè)作用域中調(diào)用完畢,跳出其作用域的同時(shí)析構(gòu)函數(shù)也會(huì)被調(diào)用一次,這樣可以用來(lái)釋放內(nèi)存空間。

class Foo:def __init__(self,x): self.x=x def __del__(self): #在對(duì)象資源被釋放時(shí)觸發(fā) print(’-----del------’) print(self)f=Foo(100000)time.sleep(5) #time.sleep(5)執(zhí)行完后,自動(dòng)調(diào)用__del__()

注意:__del__只是刪除了對(duì)象的引用,比如上面del f 只是f對(duì)象不再執(zhí)行實(shí)例數(shù)據(jù)的存儲(chǔ)空間了,實(shí)例數(shù)據(jù)并沒(méi)有被刪除,刪除實(shí)例數(shù)據(jù)需要python本身的垃圾回收機(jī)制;

垃圾回收機(jī)制

Python 采用垃圾回收機(jī)制來(lái)清理不再使用的對(duì)象;Python 提供gc模塊釋放不再使用的對(duì)象,Python 采用‘引用計(jì)數(shù)’ 的算法方式來(lái)處理回收,

即:當(dāng)某個(gè)對(duì)象在其作用域內(nèi)不再被其他對(duì)象引用的時(shí)候,Python 就自動(dòng)清除對(duì)象;

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

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 海阳市| 丽江市| 灵寿县| 诸城市| 申扎县| 瓦房店市| 唐河县| 安福县| 宜城市| 冕宁县| 惠水县| 阳城县| 乌什县| 勃利县| 邵武市| 茶陵县| 准格尔旗| 同江市| 富平县| 安阳县| 鹤壁市| 博客| 九龙城区| 虞城县| 巩义市| 攀枝花市| 甘谷县| 乐都县| 武强县| 方山县| 寻乌县| 正阳县| 平和县| 临海市| 铁岭市| 台南县| 望都县| 莱西市| 平山县| 芜湖市| 湾仔区|