Python淺復(fù)制中對象生存周期實(shí)例分析
本文實(shí)例講述了Python淺復(fù)制中對象生存周期。分享給大家供大家參考,具體如下:
Python的淺復(fù)制以及深復(fù)制我了解的并不多,我不清楚shutil中的copy1和copy2是不是算是淺復(fù)制和深復(fù)制?這兩個操作,一個是文件屬性重建,還有一個是文件屬性不變。不知道對象的復(fù)制是否可以以此類比?
在復(fù)制之前,為了能夠觀看一下GC的執(zhí)行,定義一個特殊的類和對象。測試代碼如下:
class Demo:
def __del__(self):
print("Removing{0}".format(id(self)))
x = Demo()
del x
程序執(zhí)行結(jié)果如下:
E:\01_workspace\02_programme_language\03_python\03_OOP\2017\08>pythoncopy1.py
Removing1772226785520
接下來構(gòu)造淺復(fù)制的例子:
>>>obj_list1 = [Demo(),Demo()] >>>obj_list2 = obj_list1[:] >>> del obj_list1 >>> del obj_list2 Removing1902510644416 Removing1902510644360
從上面的結(jié)果看,第一次del并沒有觸發(fā)對象銷毀的方法執(zhí)行。這是在交互界面中進(jìn)行調(diào)試出現(xiàn)的結(jié)果,如果代碼是寫到一個具體的文件中,那么程序執(zhí)行的結(jié)果有可能不同。當(dāng)所有的語句都寫到同一個文件中的時候,文件中的對象作用域會有輕微的調(diào)整。這是值得我們注意的。
另一種常見的淺復(fù)制方法:
>>> o1 =o2 = Demo() >>> del o1 >>> del o2 Removing1902510136568
更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python字典操作技巧匯總》、《Python加密解密算法與技巧總結(jié)》、《Python編碼操作技巧總結(jié)》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》及《Python入門與進(jìn)階經(jīng)典教程》
希望本文所述對大家Python程序設(shè)計有所幫助。
相關(guān)文章
Python將圖片批量從png格式轉(zhuǎn)換至WebP格式
最近因?yàn)楣ぷ餍枰パ芯苛讼聀ng的壓縮,發(fā)現(xiàn)轉(zhuǎn)換成webp格式可以小很多,下面給大家分享利用Python將圖片批量從png格式轉(zhuǎn)換至WebP格式的方法,下面來一起看看。2016-08-08
python發(fā)送郵件功能實(shí)現(xiàn)代碼
這篇文章主要為大家詳細(xì)介紹了python發(fā)送郵件功能實(shí)現(xiàn)代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-07-07
Python數(shù)據(jù)庫編程之SQLite和MySQL的實(shí)踐指南
這篇文章主要為大家詳細(xì)介紹了Python數(shù)據(jù)庫編程中SQLite和MySQL的相關(guān)操作指南,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-03-03
pytorch實(shí)現(xiàn)查看當(dāng)前學(xué)習(xí)率
這篇文章主要介紹了pytorch實(shí)現(xiàn)查看當(dāng)前學(xué)習(xí)率,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-06-06
詳解利用python-highcharts庫繪制交互式可視化圖表
本文主要和大家分享一個超強(qiáng)交互式可視化繪制工具-python-highcharts。python-highcharts就是使用Python進(jìn)行Highcharts項(xiàng)目繪制,簡單的說就是實(shí)現(xiàn)Python和Javascript之間的簡單轉(zhuǎn)換層,感興趣的可以了解一下2022-03-03
pandas dataframe統(tǒng)計填充空值方式
這篇文章主要介紹了pandas dataframe統(tǒng)計填充空值方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-02-02

