欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時(shí)間:2020年11月20日 11:34:08   作者:yoyo008  
這篇文章主要介紹了Python析構(gòu)函數(shù)__del__定義原理解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

析構(gòu)函數(shù)__del__定義:在類里定義,如果不定義,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)用一次,這樣可以用來釋放內(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ù)并沒有被刪除,刪除實(shí)例數(shù)據(jù)需要python本身的垃圾回收機(jī)制;

垃圾回收機(jī)制

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

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

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

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

相關(guān)文章

  • Python中字典(dict)合并的四種方法總結(jié)

    Python中字典(dict)合并的四種方法總結(jié)

    在Python中將字典(dict)進(jìn)行合并操作,是一個(gè)比較常見的問題。下面這篇文章主要給大家總結(jié)介紹了關(guān)于Python中字典(dict)合并的四種方法,需要的朋友可以參考借鑒,下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-08-08
  • python3抓取中文網(wǎng)頁的方法

    python3抓取中文網(wǎng)頁的方法

    這篇文章主要介紹了python3抓取中文網(wǎng)頁的方法,實(shí)例分析了Python3頁面抓取及編碼轉(zhuǎn)換的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-07-07
  • Python實(shí)現(xiàn)的生成格雷碼功能示例

    Python實(shí)現(xiàn)的生成格雷碼功能示例

    這篇文章主要介紹了Python實(shí)現(xiàn)的生成格雷碼功能,結(jié)合實(shí)例形式分析了格雷碼的原理與Python相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2018-01-01
  • Python 中的 else詳解

    Python 中的 else詳解

    這篇文章主要介紹了Python 中的 else詳解的相關(guān)資料,需要的朋友可以參考下
    2016-04-04
  • Python 性能優(yōu)化技巧總結(jié)

    Python 性能優(yōu)化技巧總結(jié)

    代碼優(yōu)化能夠讓程序運(yùn)行更快,它是在不改變程序運(yùn)行結(jié)果的情況下使得程序的運(yùn)行效率更高,根據(jù) 80/20 原則,實(shí)現(xiàn)程序的重構(gòu)、優(yōu)化、擴(kuò)展以及文檔相關(guān)的事情通常需要消耗 80% 的工作量。優(yōu)化通常包含兩方面的內(nèi)容:減小代碼的體積,提高代碼的運(yùn)行效率。
    2016-11-11
  • Python實(shí)現(xiàn)批量下載ts文件并合并為mp4

    Python實(shí)現(xiàn)批量下載ts文件并合并為mp4

    這篇文章主要為大家詳細(xì)介紹了如何通過Python語言實(shí)現(xiàn)批量下載ts文件并合并為mp4視頻的功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下
    2023-06-06
  • python簡(jiǎn)單獲取本機(jī)計(jì)算機(jī)名和IP地址的方法

    python簡(jiǎn)單獲取本機(jī)計(jì)算機(jī)名和IP地址的方法

    這篇文章主要介紹了python簡(jiǎn)單獲取本機(jī)計(jì)算機(jī)名和IP地址的方法,涉及Python中socket模塊的相關(guān)使用技巧,需要的朋友可以參考下
    2015-06-06
  • 基于python模擬TCP3次握手連接及發(fā)送數(shù)據(jù)

    基于python模擬TCP3次握手連接及發(fā)送數(shù)據(jù)

    這篇文章主要介紹了基于python模擬TCP3次握手連接及發(fā)送數(shù)據(jù),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-11-11
  • 你知道怎么改進(jìn)Python 二分法和牛頓迭代法求算術(shù)平方根嗎

    你知道怎么改進(jìn)Python 二分法和牛頓迭代法求算術(shù)平方根嗎

    這篇文章主要介紹了Python編程實(shí)現(xiàn)二分法和牛頓迭代法求平方根代碼的改進(jìn),具有一定參考價(jià)值,需要的朋友可以了解下,希望能夠給你帶來幫助
    2021-08-08
  • python基礎(chǔ)之文件的備份以及定位

    python基礎(chǔ)之文件的備份以及定位

    這篇文章主要介紹了python文件的備份以及定位,實(shí)例分析了Python中返回一個(gè)返回值與多個(gè)返回值的方法,需要的朋友可以參考下
    2021-10-10

最新評(píng)論