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

