python?中賦值,深拷貝,淺拷貝的區(qū)別
- 賦值:其實(shí)就是對(duì)象的引用(相當(dāng)于取別名)。
- 淺拷貝(copy):拷貝父對(duì)象,不會(huì)拷貝對(duì)象內(nèi)部的子對(duì)象,會(huì)引用子對(duì)象。
- 深拷貝(deepcopy): copy 模塊的 deepcopy 方法,完全拷貝了父對(duì)象及其子對(duì)象。
一、賦值實(shí)例
# a這個(gè)大列表是一個(gè)父對(duì)象,里面的小列表是a的一個(gè)子對(duì)象
a = [1, 2, 3, ["a", "b"]]
# 賦值實(shí)例
b = a
print("a:", a)
print("b:", b)
## 打印結(jié)果
a: [1, 2, 3, ['a', 'b']]
b: [1, 2, 3, ['a', 'b']]解析:
b = a: 賦值引用,a 和 b 都指向同一個(gè)對(duì)象,所以得到的結(jié)果都一樣
二、淺拷貝實(shí)例
# 淺拷貝實(shí)例
a = [1, 2, 3, ["a", "b"]]
c = a.copy()
# 第一次打印
print("a:", a)
print("c:", c)
# 給a對(duì)象中的子對(duì)象添加元素
a[3].append("c")
print("a:", a)
print("c:", c)
# 給a這個(gè)父對(duì)象添加元素
a.append(4)
print("a:", a)
print("c:", c)
## 打印結(jié)果
a: [1, 2, 3, ['a', 'b']]
c: [1, 2, 3, ['a', 'b']]
a: [1, 2, 3, ['a', 'b', 'c']]
c: [1, 2, 3, ['a', 'b', 'c']]
a: [1, 2, 3, ['a', 'b', 'c'], 4]
c: [1, 2, 3, ['a', 'b', 'c']]解析:
c = a.copy(): 淺拷貝, a 和 c 是一個(gè)獨(dú)立的對(duì)象,但他們的子對(duì)象還是指向統(tǒng)一對(duì)象(是引用子對(duì)象)。
三、深拷貝實(shí)例
# 深拷貝實(shí)例
import copy
a = [1, 2, 3, ["a", "b"]]
d = copy.deepcopy(a)
# 第一次打印
print("a:", a)
print("d:", d)
# 給a對(duì)象中的子對(duì)象添加元素
a[3].append("c")
print("a:", a)
print("d:", d)
# 給a這個(gè)父對(duì)象添加元素
a.append(4)
print("a:", a)
print("d:", d)
## 打印結(jié)果
a: [1, 2, 3, ['a', 'b']]
d: [1, 2, 3, ['a', 'b']]
a: [1, 2, 3, ['a', 'b', 'c']]
d: [1, 2, 3, ['a', 'b']]
a: [1, 2, 3, ['a', 'b', 'c'], 4]
d: [1, 2, 3, ['a', 'b']]解析:
d = copy.deepcopy(a): 深度拷貝, d 完全拷貝了a這個(gè)父對(duì)象及其子對(duì)象,a與d兩者是完全獨(dú)立的。
到此這篇關(guān)于python 中賦值,深拷貝,淺拷貝的區(qū)別的文章就介紹到這了,更多相關(guān)python賦值,深拷貝,淺拷貝內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python中消息訂閱應(yīng)用開(kāi)發(fā)的最優(yōu)5個(gè)方案及代碼實(shí)現(xiàn)
消息訂閱是現(xiàn)代分布式系統(tǒng)中實(shí)現(xiàn)異步通信和解耦的核心技術(shù)之一,本文將為大家詳細(xì)介紹一下5種最優(yōu)的消息訂閱方案,感興趣的小伙伴可以了解下2025-03-03
python3+pyqt5+itchat微信定時(shí)發(fā)送消息的方法
今天小編就為大家分享一篇python3+pyqt5+itchat微信定時(shí)發(fā)送消息的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-02-02
python Pexpect 實(shí)現(xiàn)輸密碼 scp 拷貝的方法
今天小編就為大家分享一篇python Pexpect 實(shí)現(xiàn)輸密碼 scp 拷貝的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-01-01
python GUI庫(kù)圖形界面開(kāi)發(fā)之PyQt5單選按鈕控件QRadioButton詳細(xì)使用方法與實(shí)例
這篇文章主要介紹了python GUI庫(kù)圖形界面開(kāi)發(fā)之PyQt5單選按鈕控件QRadioButton詳細(xì)使用方法與實(shí)例,需要的朋友可以參考下2020-02-02
使用Python畫(huà)出小人發(fā)射愛(ài)心的代碼
今天小編就為大家分享一篇使用Python畫(huà)出小人發(fā)射愛(ài)心的代碼,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-11-11
Python的Django框架中模板碎片緩存簡(jiǎn)介
這篇文章主要介紹了Python的Django框架中模板碎片緩存,包括給cache標(biāo)簽傳遞參數(shù)等方法,需要的朋友可以參考下2015-07-07
解決Pycharm中import時(shí)無(wú)法識(shí)別自己寫(xiě)的程序方法
今天小編就為大家分享一篇解決Pycharm中import時(shí)無(wú)法識(shí)別自己寫(xiě)的程序方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-05-05
python實(shí)現(xiàn)json轉(zhuǎn)yolo格式
在目標(biāo)檢測(cè)數(shù)據(jù)集處理中,我們經(jīng)常會(huì)遇到標(biāo)簽之間不同格式的轉(zhuǎn)化,本文主要介紹了python實(shí)現(xiàn)json轉(zhuǎn)yolo格式,具有一定的參考價(jià)值,感興趣的可以了解一下2023-12-12

