久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術(shù)文章
文章詳情頁

python中_del_還原數(shù)據(jù)的方法

瀏覽:2日期:2022-07-02 16:42:11

在數(shù)據(jù)存儲(chǔ)過多時(shí),我們會(huì)選擇清除,不過有時(shí)候也需要找回一些我們之前刪掉的數(shù)據(jù)。有的小伙伴可能會(huì)使用不同的方法分別完成,那么今天小編帶來的_del_方法既能滿足數(shù)據(jù)的清除,同時(shí)也可以把刪除的數(shù)據(jù)重新找回來。考慮到大家對(duì)數(shù)據(jù)還原的方法比較急缺,接下來我們就_del_如何還原數(shù)據(jù)的方法進(jìn)行講解。

_del_在對(duì)象銷毀時(shí)被調(diào)用,往往用于清除數(shù)據(jù)或還原環(huán)境等操作,比如在類中的其他普通方法中實(shí)現(xiàn)了插入數(shù)據(jù)庫的語句,當(dāng)對(duì)象被銷毀時(shí)我們需要將數(shù)據(jù)還原,那么這時(shí)可以在__del__方法中實(shí)現(xiàn)還原數(shù)據(jù)庫數(shù)據(jù)的功能。__del__被成為析構(gòu)方法,同樣和C++中的析構(gòu)方法類似。

下面一個(gè)例子的執(zhí)行順序可以讓大家加深對(duì)其的理解。

class Demo: def __init__(self): print(’調(diào)用__init__方法’) def func(self): print(’這是一個(gè)普通的方法’) def __del__(self): print(’調(diào)用__del__方法’)d = Demo()d.func()

當(dāng)d.func()執(zhí)行后,對(duì)象d沒有在任何一個(gè)地方被繼續(xù)引用,這時(shí)Python的垃圾回收機(jī)制會(huì)主動(dòng)回收這個(gè)對(duì)象,即銷毀d,此時(shí)自動(dòng)調(diào)用__del__方法,運(yùn)行結(jié)果如下。

調(diào)用__init__方法

這是一個(gè)普通的方法

調(diào)用__del__方法

注意:del 語句在刪除變量時(shí),是解除變量對(duì)數(shù)據(jù)的引用,而不是直接刪除數(shù)據(jù),不是把內(nèi)存地址刪了,只是刪除了引用,數(shù)據(jù)就變?yōu)榱艘粋€(gè)可回收的對(duì)象,然后內(nèi)存會(huì)被不定期回收。

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

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

相信經(jīng)過本篇對(duì)于python中_del_的學(xué)習(xí),小伙伴們已經(jīng)可以獨(dú)立進(jìn)行數(shù)據(jù)的還原了。

python中的del用法擴(kuò)展

由于python都是引用,而python有GC機(jī)制,所以,del語句作用在變量上,而不是數(shù)據(jù)對(duì)象上。

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

del刪除的是變量,而不是數(shù)據(jù)。

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

到此這篇關(guān)于python中_del_還原數(shù)據(jù)的方法的文章就介紹到這了,更多相關(guān)python中_del_如何還原數(shù)據(jù)內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 曲周县| 高雄县| 雷州市| 绥棱县| 绥阳县| 尖扎县| 峨边| 安康市| 柳江县| 涟源市| 徐汇区| 泽库县| 闽侯县| 宜川县| 宁德市| 玉田县| 溆浦县| 丹凤县| 桓仁| 清苑县| 孟连| 阜宁县| 象州县| 陕西省| 巴东县| 鲜城| 姜堰市| 廊坊市| 绍兴市| 读书| 马边| 翁源县| 鸡泽县| 云南省| 思南县| 蚌埠市| 永胜县| 集安市| 互助| 习水县| 利辛县|