最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python對象中__del__方法起作用的條件詳解

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

對象的__del__是對象在被gc消除回收的時候起作用的一個方法,它的執(zhí)行一般也就意味著對象不能夠繼續(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í)行的唯一方式。其實,這個方法也可以直接調(diào)用。測試代碼如下:

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í)行很多時候并不能夠保證垃圾回收的正常執(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__

推測:上面的刪除方法觸發(fā)了兩次刪除,但是由于引用關系,刪除銷毀其實沒有實現(xià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__

從上面看來,其實主要還有對對象的引用,這個銷毀的動作還是需要等待對象引用沒有了以后才能夠完成。進一步驗證代碼:

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é)果看,猜測還是準確的。

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

相關文章

  • Django網(wǎng)絡框架之創(chuàng)建虛擬開發(fā)環(huán)境操作示例

    Django網(wǎng)絡框架之創(chuàng)建虛擬開發(fā)環(huán)境操作示例

    這篇文章主要介紹了Django網(wǎng)絡框架之創(chuàng)建虛擬開發(fā)環(huán)境操作,簡單描述了虛擬開發(fā)環(huán)境的概念、功能,并分析了使用venv與virtualenv安裝虛擬環(huán)境相關操作技巧,需要的朋友可以參考下
    2019-06-06
  • 解決python3捕獲cx_oracle拋出的異常錯誤問題

    解決python3捕獲cx_oracle拋出的異常錯誤問題

    今天小編就為大家分享一篇解決python3捕獲cx_oracle拋出的異常錯誤問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-10-10
  • python 隨機密碼生成器的實現(xiàn)示例

    python 隨機密碼生成器的實現(xiàn)示例

    隨機密碼生成器是一種非常有用的工具,它可以幫助我們生成隨機的、復雜的密碼,提高我們的賬戶安全性,本文就來介紹一下python 隨機密碼生成器的實現(xiàn)示例,感興趣的可以了解一下
    2023-11-11
  • 使用python?matplotlib畫折線圖實例代碼

    使用python?matplotlib畫折線圖實例代碼

    Matplotlib是一個Python工具箱,用于科學計算的數(shù)據(jù)可視化,下面這篇文章主要給大家介紹了關于如何使用python?matplotlib畫折線圖的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-04-04
  • tensor.squeeze函數(shù)和tensor.unsqueeze函數(shù)的使用詳解

    tensor.squeeze函數(shù)和tensor.unsqueeze函數(shù)的使用詳解

    本文主要介紹了tensor.squeeze函數(shù)和tensor.unsqueeze函數(shù)的使用詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-03-03
  • python3使用flask編寫注冊post接口的方法

    python3使用flask編寫注冊post接口的方法

    今天小編就為大家分享一篇python3使用flask編寫注冊post接口的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-12-12
  • Python安裝Selenium報錯解決之全方位排錯指南

    Python安裝Selenium報錯解決之全方位排錯指南

    pip是一個安裝Python包的管理工具,很多功能強大、使用方便的Python框架、插件、工具等,都是通過pip來進行安裝的,這篇文章主要給大家介紹了關于Python安裝Selenium報錯解決之全方位排錯的相關資料,需要的朋友可以參考下
    2024-08-08
  • Python實現(xiàn)微信好友數(shù)據(jù)爬取及分析

    Python實現(xiàn)微信好友數(shù)據(jù)爬取及分析

    這篇文章會基于Python對微信好友進行數(shù)據(jù)分析,這里選擇的維度主要有:性別、頭像、簽名、位置,主要采用圖表和詞云兩種形式來呈現(xiàn)結(jié)果,其中,對文本類信息會采用詞頻分析和情感分析兩種方法,感興趣的小伙伴可以了解一下
    2021-12-12
  • python 輸入字符串生成所有有效的IP地址(LeetCode 93號題)

    python 輸入字符串生成所有有效的IP地址(LeetCode 93號題)

    這篇文章主要介紹了python 生成所有有效的IP地址的方法,幫助大家解答題目,學習python,感興趣的朋友可以了解下
    2020-10-10
  • 如何關掉pycharm中的python console(圖解)

    如何關掉pycharm中的python console(圖解)

    本文通過圖文并茂的形式給大家介紹了如何關掉pycharm中的python console,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-10-10

最新評論

水城县| 山西省| 镇雄县| 昌吉市| 崇信县| 荔浦县| 遵义县| 峨眉山市| 三穗县| 呼和浩特市| 泸溪县| 通州区| 天峨县| 榕江县| 喀喇沁旗| 梁平县| 九寨沟县| 兰西县| 普安县| 楚雄市| 鹿泉市| 昌黎县| 鞍山市| 上蔡县| 琼结县| 桂平市| 蒲江县| 濮阳市| 东明县| 余江县| 松原市| 交口县| 万盛区| 峡江县| 固安县| 图们市| 天水市| 阿尔山市| 比如县| 浑源县| 滦平县|