圖解Python中淺拷貝copy()和深拷貝deepcopy()的區(qū)別
關(guān)于淺拷貝和深拷貝想必大家在學(xué)習(xí)中遇到很多次,這也是面試中常常被問到的問題,借由這個時間,整理一下淺拷貝和深拷貝的關(guān)系
先從一個簡單的例子入手吧 定義一個數(shù)組的嵌套結(jié)構(gòu)
a = [1,2,3,[4,5,[6]]]
看一下它的gable frame
當(dāng)我們做一下淺拷貝copy()時,global frame
a = [1,2,3,[4,5,[6]]] //淺拷貝 b = a.copy()
可以看到,淺拷貝對淺層的數(shù)組進行了復(fù)制,但深層的引用仍然是指向了原來的引用,這樣就會在操作b數(shù)組時,會對原來的數(shù)組產(chǎn)生修改。
深拷貝
import copy a = [1,2,3,[4,5,[6]]] //淺拷貝 b = a.copy() //深拷貝 c = copy.deepcopy(a)
可以看到,深拷貝將其內(nèi)部引用也進行了拷貝,在進行數(shù)據(jù)操作時是完全使用新數(shù)組,對原來的數(shù)組不產(chǎn)生影響。
- 淺拷貝(shallowCopy)只是增加了一個指針指向已存在的內(nèi)存地址,
- 深拷貝(deepCopy)是增加了一個指針并且申請了一個新的內(nèi)存,使這個增加的指針指向這個新的內(nèi)存,
使用深拷貝的情況下,釋放內(nèi)存的時候不會因為出現(xiàn)淺拷貝時釋放同一個內(nèi)存的錯誤。
到此這篇關(guān)于圖解Python中淺拷貝copy()和深拷貝deepcopy()的區(qū)別的文章就介紹到這了,更多相關(guān)Python淺拷貝copy()和深拷貝deepcopy()內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
PySide(PyQt)使用QPropertyAnimation制作動態(tài)界面的示例代碼
文章介紹了如何使用PySide或PyQt的QPropertyAnimation類來創(chuàng)建動態(tài)界面效果,感興趣的朋友一起看看吧2025-03-03Python通過keyboard庫實現(xiàn)模擬和監(jiān)聽鍵盤
這篇文章主要為大家詳細介紹了Python如何通過keyboard庫實現(xiàn)模擬和監(jiān)聽鍵盤,文中的示例代碼講解詳細,感興趣的小伙伴可以了解下2024-10-10python 實現(xiàn)rolling和apply函數(shù)的向下取值操作
這篇文章主要介紹了python 實現(xiàn)rolling和apply函數(shù)的向下取值操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-06-06使用Python創(chuàng)建一個視頻管理器并實現(xiàn)視頻截圖功能
在這篇博客中,我將向大家展示如何使用 wxPython 創(chuàng)建一個簡單的圖形用戶界面 (GUI) 應(yīng)用程序,該應(yīng)用程序可以管理視頻文件列表、播放視頻,并生成視頻截圖,我們將逐步實現(xiàn)這些功能,并確保代碼易于理解和擴展,感興趣的小伙伴跟著小編一起來看看吧2024-08-08python使用selenium模擬瀏覽器進入好友QQ空間留言功能
這篇文章主要介紹了python使用selenium模擬瀏覽器進入好友QQ空間留言,在本文實現(xiàn)過程中需要注意的是留言框和發(fā)表按鈕在不同的frame,發(fā)表在外面的一層,具體實現(xiàn)過程跟隨小編一起看看吧2022-04-04從入門到精通:Python項目打包與setup.py實戰(zhàn)指南
想要將你的Python項目分享給世界嗎?本指南將帶你從零開始,一步步學(xué)習(xí)如何打包你的Python項目,并創(chuàng)建一個專業(yè)的setup.py文件,我們將分享實用的技巧和最佳實踐,幫助你的項目在Python社區(qū)中脫穎而出,跟著我們的步伐,讓你的項目打包變得輕松有趣!2024-03-03使用Python對接OpenAi?API實現(xiàn)智能QQ機器人的方法
這篇文章主要介紹了使用Python對接OpenAi?API實現(xiàn)智能QQ機器人的方法,主要是提供一個方法思路,可以根據(jù)實現(xiàn)代碼延申出更多的解決方法,需要的朋友可以參考下2023-03-03python sorted函數(shù)原理解析及練習(xí)
這篇文章主要介紹了python sorted函數(shù)原理解析及練習(xí),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-02-02TensorFlow人工智能學(xué)習(xí)數(shù)據(jù)類型信息及轉(zhuǎn)換
這篇文章主要為大家介紹了TensorFlow人工智能學(xué)習(xí)數(shù)據(jù)類型信息及轉(zhuǎn)換,2021-11-11