亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Python對(duì)象中__del__方法起作用的條件詳解

 更新時(shí)間:2018年11月01日 12:13:30   作者:grey_csdn  
今天小編就為大家分享一篇Python對(duì)象中__del__方法起作用的條件詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

對(duì)象的__del__是對(duì)象在被gc消除回收的時(shí)候起作用的一個(gè)方法,它的執(zhí)行一般也就意味著對(duì)象不能夠繼續(xù)引用。

示范代碼如下:

class Demo:

def __del__(self):

  print("calling __del__")
 
obj = Demo()

del obj

程序執(zhí)行結(jié)果如下:

grey@DESKTOP-3T80NPQ:/mnt/e/01_workspace/02_programme_language/03_python/03_OOP/2017/08$python del_method.py

calling __del__

但是,這并不是讓__del__執(zhí)行的唯一方式。其實(shí),這個(gè)方法也可以直接調(diào)用。測(cè)試代碼如下:

class Demo:

def __init__(self):

  print("calling __del__")

obj = Demo()

obj.__del__()

程序執(zhí)行結(jié)果:

grey@DESKTOP-3T80NPQ:/mnt/e/01_workspace/02_programme_language/03_python/03_OOP/2017/08$python del_method.py

calling __del__ 

但是,這樣的執(zhí)行很多時(shí)候并不能夠保證垃圾回收的正常執(zhí)行。

如下代碼:

grey@DESKTOP-3T80NPQ:/mnt/e/01_workspace/02_programme_language/03_python/03_OOP/2017/08$python del_method.py

calling __del__

calling __del__

執(zhí)行結(jié)果:

grey@DESKTOP-3T80NPQ:/mnt/e/01_workspace/02_programme_language/03_python/03_OOP/2017/08$python del_method.py

calling __del__

calling __del__

推測(cè):上面的刪除方法觸發(fā)了兩次刪除,但是由于引用關(guān)系,刪除銷(xiāo)毀其實(shí)沒(méi)有實(shí)現(xiàn)。

修改代碼驗(yàn)證如下:

class Demo:

def __del__(self):

  print("calling __del__")

  del self

 

obj = Demo()

obj.__del__()

print(id(obj))

執(zhí)行結(jié)果:

grey@DESKTOP-3T80NPQ:/mnt/e/01_workspace/02_programme_language/03_python/03_OOP/2017/08$python del_method.py

calling __del__

140726800222040

calling __del__

從上面看來(lái),其實(shí)主要還有對(duì)對(duì)象的引用,這個(gè)銷(xiāo)毀的動(dòng)作還是需要等待對(duì)象引用沒(méi)有了以后才能夠完成。進(jìn)一步驗(yàn)證代碼:

class Demo:

def __del__(self):

  print("calling __del__")

  del self

 

obj = Demo()

obj.__del__()

print(id(obj))

print(id(obj))

執(zhí)行結(jié)果:

grey@DESKTOP-3T80NPQ:/mnt/e/01_workspace/02_programme_language/03_python/03_OOP/2017/08$python del_method.py

calling __del__

140568015406936

140568015406936

calling __del__

從上面結(jié)果看,猜測(cè)還是準(zhǔn)確的。

以上這篇Python對(duì)象中__del__方法起作用的條件詳解就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 一文詳解如何實(shí)現(xiàn)PyTorch模型編譯

    一文詳解如何實(shí)現(xiàn)PyTorch模型編譯

    這篇文章主要為大家介紹了如何實(shí)現(xiàn)PyTorch?模型編譯詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-04-04
  • shell命令行,一鍵創(chuàng)建 python 模板文件腳本方法

    shell命令行,一鍵創(chuàng)建 python 模板文件腳本方法

    下面小編就為大家分享一篇shell命令行,一鍵創(chuàng)建 python 模板文件腳本方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-03-03
  • Python實(shí)現(xiàn)隨機(jī)生成算術(shù)題的示例代碼

    Python實(shí)現(xiàn)隨機(jī)生成算術(shù)題的示例代碼

    這篇文章主要為大家詳細(xì)介紹了如何利用Python實(shí)現(xiàn)隨機(jī)生成算術(shù)題的功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-04-04
  • Python測(cè)試模塊doctest使用解析

    Python測(cè)試模塊doctest使用解析

    這篇文章主要介紹了Python測(cè)試模塊doctest使用解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-08-08
  • python3操作mysql數(shù)據(jù)庫(kù)的方法

    python3操作mysql數(shù)據(jù)庫(kù)的方法

    這篇文章主要介紹了python3操作mysql數(shù)據(jù)庫(kù)的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • 學(xué)會(huì)Python數(shù)據(jù)可視化必須嘗試這7個(gè)庫(kù)

    學(xué)會(huì)Python數(shù)據(jù)可視化必須嘗試這7個(gè)庫(kù)

    數(shù)據(jù)可視化是使用一些繪圖和圖形更詳細(xì)地理解數(shù)據(jù)的過(guò)程.最著名的庫(kù)之一是 matplotlib,它可以繪制幾乎所有您可以想象的繪圖類(lèi)型.matplotlib 唯一的問(wèn)題是初學(xué)者很難掌握.在本文中,我將介紹七個(gè)數(shù)據(jù)可視化庫(kù),你可以嘗試使用它們來(lái)代替 matplotlib ,需要的朋友可以參考下
    2021-06-06
  • python讀取大型csv文件的操作方法(降低內(nèi)存占用)

    python讀取大型csv文件的操作方法(降低內(nèi)存占用)

    遇到大型的csv文件時(shí),pandas會(huì)把該文件全部加載進(jìn)內(nèi)存,從而導(dǎo)致程序運(yùn)行速度變慢,本文提供了批量讀取csv文件、讀取屬性列的方法,減輕內(nèi)存占用情況,文中有詳細(xì)的代碼示例,需要的朋友可以參考下
    2024-03-03
  • Python關(guān)于版本升級(jí)與包的維護(hù)方式

    Python關(guān)于版本升級(jí)與包的維護(hù)方式

    這篇文章主要介紹了Python關(guān)于版本升級(jí)與包的維護(hù)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • Python中NumPy的線(xiàn)性代數(shù)子模塊linalg詳解

    Python中NumPy的線(xiàn)性代數(shù)子模塊linalg詳解

    這篇文章主要介紹了Python中NumPy的線(xiàn)性代數(shù)子模塊linalg詳解,NumPy 的線(xiàn)性代數(shù)子模塊linalg提供了 20 余個(gè)函數(shù),用于求解行列式、逆矩陣、特征值、特征向量,以及矩陣分解等,需要的朋友可以參考下
    2023-08-08
  • Python3.6 Schedule模塊定時(shí)任務(wù)(實(shí)例講解)

    Python3.6 Schedule模塊定時(shí)任務(wù)(實(shí)例講解)

    下面小編就為大家?guī)?lái)一篇Python3.6 Schedule模塊定時(shí)任務(wù)(實(shí)例講解)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-11-11

最新評(píng)論