中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么在python中例_del_對數據進行還原

發布時間:2020-12-10 15:47:36 來源:億速云 閱讀:185 作者:Leah 欄目:開發技術

這篇文章將為大家詳細講解有關怎么在python中例_del_對數據進行還原,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

_del_在對象銷毀時被調用,往往用于清除數據或還原環境等操作,比如在類中的其他普通方法中實現了插入數據庫的語句,當對象被銷毀時我們需要將數據還原,那么這時可以在__del__方法中實現還原數據庫數據的功能。__del__被成為析構方法,同樣和C++中的析構方法類似。

下面一個例子的執行順序可以讓大家加深對其的理解。

class Demo:
  def __init__(self):
    print('調用__init__方法')
  def func(self):
    print('這是一個普通的方法')
  def __del__(self):
    print('調用__del__方法')
d = Demo()
d.func()

當d.func()執行后,對象d沒有在任何一個地方被繼續引用,這時Python的垃圾回收機制會主動回收這個對象,即銷毀d,此時自動調用__del__方法,運行結果如下。

調用__init__方法

這是一個普通的方法

調用__del__方法

注意:del 語句在刪除變量時,是解除變量對數據的引用,而不是直接刪除數據,不是把內存地址刪了,只是刪除了引用,數據就變為了一個可回收的對象,然后內存會被不定期回收。

不能定義任何名叫 del 的函數或者變量:

>>> def del(a):
 File "<stdin>", line 1
  def del(a):
     ^
SyntaxError: invalid syntax

相信經過本篇對于python中_del_的學習,小伙伴們已經可以獨立進行數據的還原了。

python中的del用法擴展

由于python都是引用,而python有GC機制,所以,del語句作用在變量上,而不是數據對象上。

if __name__=='__main__': 
 a=1 # 對象 1 被 變量a引用,對象1的引用計數器為1 
 b=a # 對象1 被變量b引用,對象1的引用計數器加1 
 c=a #1對象1 被變量c引用,對象1的引用計數器加1 
 del a #刪除變量a,解除a對1的引用 
 del b #刪除變量b,解除b對1的引用 
 print(c) #最終變量c仍然引用1 

del刪除的是變量,而不是數據。

if __name__=='__main__': 
 li=[1,2,3,4,5] #列表本身不包含數據1,2,3,4,5,而是包含變量:li[0] li[1] li[2] li[3] li[4] 
 first=li[0] #拷貝列表,也不會有數據對象的復制,而是創建新的變量引用 
 del li[0] 
 print(li) #輸出[2, 3, 4, 5] 
 print(first) #輸出 1 

關于怎么在python中例_del_對數據進行還原就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

鄂托克前旗| 常州市| 米脂县| 阿拉善盟| 通州市| 星座| 萨迦县| 阳信县| 怀宁县| 台北市| 封开县| 前郭尔| 林甸县| 谷城县| 吴旗县| 虹口区| 罗山县| 荔浦县| 刚察县| 稷山县| 辽宁省| 汤阴县| 驻马店市| 华池县| 庆城县| 凤翔县| 英超| 曲阳县| 保山市| 易门县| 安义县| 凤阳县| 小金县| 梨树县| 广安市| 乌兰察布市| 德惠市| 威信县| 平定县| 开江县| 离岛区|