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

圖解Python中的淺拷貝和深拷貝

 更新時間:2023年11月29日 09:39:16   作者:時代&信念  
這篇文章主要介紹了圖解Python中的淺拷貝和深拷貝,深拷貝,拷貝的程度深,自己新開辟了一塊內(nèi)存,將被拷貝內(nèi)容全部拷貝過來了,淺拷貝,拷貝的程度淺,只拷貝原數(shù)據(jù)的首地址,然后通過原數(shù)據(jù)的首地址,去獲取內(nèi)容,需要的朋友可以參考下

Python淺拷貝和深拷貝

最直觀的理解就是:

1.深拷貝,拷貝的程度深,自己新開辟了一塊內(nèi)存,將被拷貝內(nèi)容全部拷貝過來了;

2.淺拷貝,拷貝的程度淺,只拷貝原數(shù)據(jù)的首地址,然后通過原數(shù)據(jù)的首地址,去獲取內(nèi)容。

兩者的優(yōu)缺點對比

(1)深拷貝拷貝程度高,將原數(shù)據(jù)復(fù)制到新的內(nèi)存空間中。改變拷貝后的內(nèi)容不影響原數(shù)據(jù)內(nèi)容。但是深拷貝耗時長,且占用內(nèi)存空間。

(2)淺拷貝拷貝程度低,只復(fù)制原數(shù)據(jù)的地址。其實是將副本的地址指向原數(shù)據(jù)地址。修改副本內(nèi)容,是通過當(dāng)前地址指向原數(shù)據(jù)地址,去修改。所以修改副本內(nèi)容會影響到原數(shù)據(jù)內(nèi)容。但是淺拷貝耗時短,占用內(nèi)存空間少。

淺拷貝

有一層數(shù)據(jù)類型,且數(shù)據(jù)類型時可變數(shù)據(jù)類型,例如:列表、字典

在這里插入圖片描述

有一層數(shù)據(jù)類型,且數(shù)據(jù)類型時不可變數(shù)據(jù)類型,例如:元組、字符串

在這里插入圖片描述

有兩層數(shù)據(jù)類型,外層為可變數(shù)據(jù)類型,內(nèi)層為可變數(shù)據(jù)類型

在這里插入圖片描述

有兩層數(shù)據(jù)類型,外層為可變數(shù)據(jù)類型,內(nèi)層為不可變數(shù)據(jù)類型

在這里插入圖片描述

有兩層數(shù)據(jù)類型,外層為不可變數(shù)據(jù)類型,內(nèi)層為不可變數(shù)據(jù)類型

在這里插入圖片描述

有兩層數(shù)據(jù)類型,外層為不可變數(shù)據(jù)類型,內(nèi)層為可變數(shù)據(jù)類型

在這里插入圖片描述

深拷貝

有一層數(shù)據(jù)類型,且數(shù)據(jù)類型時可變數(shù)據(jù)類型,例如:列表、字典

在這里插入圖片描述

有一層數(shù)據(jù)類型,且數(shù)據(jù)類型時不可變數(shù)據(jù)類型,例如:元組、字符串

在這里插入圖片描述

有兩層數(shù)據(jù)類型,外層為可變數(shù)據(jù)類型,內(nèi)層為可變數(shù)據(jù)類型

在這里插入圖片描述

有兩層數(shù)據(jù)類型,外層為可變數(shù)據(jù)類型,內(nèi)層為不可變數(shù)據(jù)類型

在這里插入圖片描述

有兩層數(shù)據(jù)類型,外層為不可變數(shù)據(jù)類型,內(nèi)層為不可變數(shù)據(jù)類型

在這里插入圖片描述

有兩層數(shù)據(jù)類型,外層為不可變數(shù)據(jù)類型,內(nèi)層為可變數(shù)據(jù)類型

在這里插入圖片描述

由實驗結(jié)果總結(jié)得:

當(dāng)內(nèi)層為可變數(shù)據(jù)類型時,深拷貝后內(nèi)層外層地址均發(fā)生改變。當(dāng)內(nèi)層為不可變數(shù)據(jù)類型時,外層不管是可變還是不可變數(shù)據(jù)類型,使用深拷貝,都不會改變內(nèi)層地址,只會在外層為可變數(shù)據(jù)類型時,改變外層地址。

使用淺拷貝是只能在外層數(shù)據(jù)類型為可變數(shù)據(jù)類型時,才能改變外層地址。而內(nèi)層地址,無論是否為可變數(shù)據(jù)類型還是不可變數(shù)據(jù)類型,使用淺拷貝都不會改變內(nèi)層數(shù)據(jù)類型地址。

到此這篇關(guān)于圖解Python中的淺拷貝和深拷貝的文章就介紹到這了,更多相關(guān)Python淺拷貝和深拷貝內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python3操作YAML文件格式方法解析

    Python3操作YAML文件格式方法解析

    這篇文章主要介紹了Python3操作YAML文件格式方法解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-04-04
  • python文件和目錄操作方法大全(含實例)

    python文件和目錄操作方法大全(含實例)

    這篇文章主要介紹了python文件和目錄的操作方法,簡明總結(jié)了文件和目錄操作中常用的模塊、方法,并列舉了一個綜合實例,需要的朋友可以參考下
    2014-03-03
  • 解讀Numpy中的排序(sort,argsort)

    解讀Numpy中的排序(sort,argsort)

    這篇文章主要介紹了關(guān)于Numpy中的排序(sort,argsort),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • Python使用MapReduce編程模型統(tǒng)計銷量

    Python使用MapReduce編程模型統(tǒng)計銷量

    MapReduce是面向大數(shù)據(jù)并行處理的計算模型、框架和平臺,是一種計算引擎,可以把我們對大批量數(shù)據(jù)的計算通過抽象成map與reduce兩個子任務(wù)進(jìn)行計算從而更快的得到想要的結(jié)果
    2022-04-04
  • python實現(xiàn)微信每日一句自動發(fā)送給喜歡的人

    python實現(xiàn)微信每日一句自動發(fā)送給喜歡的人

    這篇文章主要為大家詳細(xì)介紹了python實現(xiàn)微信每日一句自動發(fā)送給喜歡的人,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-04-04
  • Python3進(jìn)制之間的轉(zhuǎn)換代碼實例

    Python3進(jìn)制之間的轉(zhuǎn)換代碼實例

    這篇文章主要介紹了Python3進(jìn)制之間的轉(zhuǎn)換代碼實例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-08-08
  • 基于Pandas讀取csv文件Error的總結(jié)

    基于Pandas讀取csv文件Error的總結(jié)

    今天小編就為大家分享一篇基于Pandas讀取csv文件Error的總結(jié),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-06-06
  • Django項目的初步創(chuàng)建與簡單配置

    Django項目的初步創(chuàng)建與簡單配置

    本文主要介紹了Django項目的初步創(chuàng)建與簡單配置,詳細(xì)介紹了如何安裝和配置Django,包括創(chuàng)建項目、數(shù)據(jù)庫配置、路由等,通過本文可以了解如何使用Django創(chuàng)建自己的Web應(yīng)用程序
    2023-09-09
  • Python 字符串、列表、元組的截取與切片操作示例

    Python 字符串、列表、元組的截取與切片操作示例

    這篇文章主要介紹了Python 字符串、列表、元組的截取與切片操作,結(jié)合實例形式分析了Python針對字符串、列表、元組的截取與切片相關(guān)操作技巧,需要的朋友可以參考下
    2019-09-09
  • python TCP Socket的粘包和分包的處理詳解

    python TCP Socket的粘包和分包的處理詳解

    這篇文章主要介紹了python TCP Socket的粘包和分包的處理詳解,分享了相關(guān)代碼示例,小編覺得還是挺不錯的,具有一定借鑒價值,需要的朋友可以參考下
    2018-02-02

最新評論