重慶分公司,新征程啟航
為企業提供網站建設、域名注冊、服務器等服務
為企業提供網站建設、域名注冊、服務器等服務
小編給大家分享一下python中淺拷貝是什么意思,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!
創新互聯公司主要從事網站建設、成都做網站、網頁設計、企業做網站、公司建網站等業務。立足成都服務壽縣,十多年網站建設經驗,價格優惠、服務專業,歡迎來電咨詢建站服務:18980820575
python中淺拷貝是對一個對象最頂層的拷貝。 淺拷貝對可變數據類型會拷貝這個對象的引用;對于不可變數據類型進行對象資源的拷貝,即只拷貝對象的數據內容和父對象,不拷貝對象內部的子對象。
在python中,對象賦值實際上是對象的引用。當創建一個對象,然后把它賦給另一個變量的時候,python并沒有拷貝這個對象,而只是拷貝了這個對象的引用。
淺拷貝(copy):
淺拷貝是對一個對象最頂層的拷貝,拷貝引用。 淺拷貝對可變類型會進行淺拷貝(拷貝一個對象的引用)。
對于不可變數據類型進行對象資源的拷貝,只拷貝對象的數據內容。拷貝父對象,不拷貝對象內部的子對象。
>>> import copy >>> c=copy.copy(alist) >>> print alist;print c [1, 2, 3, ['a', 'b']] [1, 2, 3, ['a', 'b']] >>> alist.append(5) >>> print alist;print c [1, 2, 3, ['a', 'b'], 5] [1, 2, 3, ['a', 'b']] >>> alist[3]['a', 'b'] >>> alist[3].append('cccc') >>> print alist;print c [1, 2, 3, ['a', 'b', 'cccc'], 5] [1, 2, 3, ['a', 'b', 'cccc']] 里面的子對象被改變了
print("淺拷貝:") import copy b=[1,2,3,4,5] print("id b:",id(b)) h=copy.copy(b) print("id h",id(h)) print(h) h.append(6) print(h) print("id h",id(h)) print(b) #淺拷貝新的列表h改變了,原來的b沒變。 b[1]='n' #列表元素改變后,新的列表也沒變 print(h) 輸出: 淺拷貝: ('id b:', 140165805110552) ('id h', 140165805110480) [1, 2, 3, 4, 5] [1, 2, 3, 4, 5, 6] ('id h', 140165805110480) [1, 2, 3, 4, 5] [1, 2, 3, 4, 5, 6]
看完了這篇文章,相信你對python中淺拷貝是什么意思有了一定的了解,想了解更多相關知識,歡迎關注創新互聯行業資訊頻道,感謝各位的閱讀!