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

Python中垃圾回收和del語句詳解

 更新時間:2018年11月15日 10:12:21   作者:Polar Snow Documentation  
Python語言默認采用的垃圾收集機制是引用計數(shù)法,本文詳細的介紹了Python中垃圾回收和del語句詳解,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

Python中的垃圾回收算法是采用引用計數(shù), 當一個對象的引用計數(shù)為0時, Python的垃圾回收機制就會將對象回收

a = "larry"
b = a

larry這個字符串對象, 在第一行被貼了a標簽后, 引用計數(shù)為1, 之后在第二行, 由貼上了b標簽, 此時, 該字符串對象的引用計數(shù)為

a = "larry"
b = a
del a

注意: 在Python語言中, del語句操作某個對象的時候, 并不是直接將該對象在內存中刪除, 而是將該對象的引用計數(shù)-1

>>> a = "larry"
>>> b = a
>>> del a
>>> id(b)
4572141808
>>> id(a)
Traceback (most recent call last):
 File "<input>", line 1, in <module>
  id(a)
NameError: name 'a' is not defined

從以上示例中可以看出, larry這個字符串對象在第一行被貼上了a標簽, 此時字符串對象的引用計數(shù)為1, 接著第二行又被貼上了b標簽, 此時該字符串對象的引用計數(shù)為2, 在第三行中, del語言刪除了a變量(標簽), 在后續(xù)的print中可以看出, 內存中實際的字符串對象并沒有被刪除, del語言只是刪除了一個變量對該字符串對象的引用, 所以對于larry這個字符串對象來說, 效果只是引用計數(shù)-1

魔法函數(shù)之__del__

類中的__del__魔法函數(shù), 支持我們自定義清理對象的邏輯, 當Python解釋器使用del語言刪除類的對象的時候, 會自動調用類中的__del__函數(shù), 我們可以對其進行重載

>>> class Ref:
...
...   def __init__(self, name):
...     self.name = name
...
...   def __del__(self):
...     print("刪除對象")
...     del self.name
...
>>>
>>> r = Ref(name="larry")
>>> print(r.name)
larry
>>>
>>> del r

刪除對象

>>>
>>> print(r.name)
Traceback (most recent call last):
 File "<input>", line 1, in <module>
  print(r.name)
NameError: name 'r' is not defined

我們可以通過重載__del__魔法函數(shù), 自己靈活控制在del 對象的時候執(zhí)行哪些善后操作

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

相關文章

  • PyQt5+Pycharm安裝和配置圖文教程詳解

    PyQt5+Pycharm安裝和配置圖文教程詳解

    這篇文章主要介紹了PyQt5+Pycharm安裝和配置教程,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-03-03
  • 模擬瀏覽器的Python爬蟲工具全面深入探索

    模擬瀏覽器的Python爬蟲工具全面深入探索

    Python爬蟲是獲取網(wǎng)頁信息的重要工具,但有時網(wǎng)站對爬蟲有限制,要求模擬瀏覽器行為,本文將深入探討如何使用Python模擬瀏覽器行為進行網(wǎng)絡數(shù)據(jù)抓取,我們將介紹相關工具和技術,提供詳細的示例代碼和解釋
    2024-01-01
  • python遺傳算法之geatpy的深入理解

    python遺傳算法之geatpy的深入理解

    本文主要介紹了python遺傳算法之geatpy的深入理解,主要從geatpy中的各種數(shù)據(jù)結構一步一步進行學習,具有一定的參考價值,感興趣的可以了解一下
    2022-04-04
  • python 密碼學示例——凱撒密碼的實現(xiàn)

    python 密碼學示例——凱撒密碼的實現(xiàn)

    這篇文章主要介紹了python 密碼學示例——凱撒密碼的實現(xiàn),幫助大家更好的利用python處理密碼,感興趣的朋友可以了解下
    2020-09-09
  • Python實現(xiàn)GUI學生信息管理系統(tǒng)

    Python實現(xiàn)GUI學生信息管理系統(tǒng)

    這篇文章主要為大家詳細介紹了Python實現(xiàn)GUI學生信息管理系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • 使用FFmpeg來無損壓縮視頻文件的操作方法

    使用FFmpeg來無損壓縮視頻文件的操作方法

    FFmpeg是業(yè)內有名的開源圖像視頻處理程序,在許多視頻剪輯軟件、圖像處理軟件中,都使用的FFmpeg,還有比如OBS這樣的導播軟件里面也使用了FFmpeg,FFmpeg的功能十分強大,遠不止視頻壓縮的功能,本文介紹使用FFmpeg來無損壓縮視頻文件的操作方法,感興趣的朋友一起看看吧
    2023-12-12
  • 使用python生成目錄樹

    使用python生成目錄樹

    這篇文章主要為大家詳細介紹了使用python生成目錄樹、文件的程序,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-03-03
  • python 簡單的繪圖工具turtle使用詳解

    python 簡單的繪圖工具turtle使用詳解

    這篇文章主要介紹了python 簡單的繪圖工具turtle使用詳解的相關資料,需要的朋友可以參考下
    2017-06-06
  • 基于騰訊云服務器部署微信小程序后臺服務(Python+Django)

    基于騰訊云服務器部署微信小程序后臺服務(Python+Django)

    這篇文章主要介紹了基于騰訊云服務器部署微信小程序后臺服務(Python+Django),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-05-05
  • 跟老齊學Python之關于類的初步認識

    跟老齊學Python之關于類的初步認識

    這篇文章主要介紹了Python中關于類的一些術語解釋,雖然有些枯燥,但是要了解類的話,這些內容是必須的
    2014-10-10

最新評論