以下例項是使用 copy 模組的 copy.copy( 淺拷貝 )和(copy.deepcopy ):
#!/usr/bin/python
# -*-coding:utf-8 -*-
import copy
a = [1,2,3,4,['a','b']]#原始物件
b =a#賦值,傳物件的引用
c = copy.copy(a)#物件拷貝,淺拷貝
d = copy.deepcopy(a)#物件拷貝,深拷貝
print('a =',a)
print('b =',b)
print('c =',c)
print('d =',d)
以上例項執行輸出結果為:
('a = ', [1, 2, 3, 4, ['a', 'b', 'c'], 5])('b = ', [1, 2, 3, 4, ['a', 'b', 'c'], 5])
('c = ', [1, 2, 3, 4, ['a', 'b', 'c']])
('d = ', [1, 2, 3, 4, ['a', 'b']])
from:
Python 淺拷貝與深拷貝
淺拷貝 構造方法或切片 做的是淺拷貝 即拷貝了最外層容器,副本中的元素是原容器中元素的引用 在 python 中,通過乙個物件向另外乙個物件賦值,實際僅僅是賦值了物件的引用,而非建立乙個物件並賦值。那如何真正拷貝物件呢?我們看一下兩種不同的拷貝方式。先從乙個示例看起 anndy anndy age ...
python 深拷貝與淺拷貝
當乙個變數 的時候,約定為 指向位址的過程 如果copy.copy 拷貝的是元組,那麼它不會進行淺拷貝,僅僅是指向 因為元組是不可變資料型別,那麼意味著資料一定不能修改,因此用copy.copy的 時候它會自動判斷,是指向。如果,用copy.copy copy.deepcopy 對乙個全部是不可變型...
Python深拷貝與淺拷貝
python有個內建的copy的模組專門用於處理深拷貝與淺拷貝,很實用,用起來也很方便,能為我們省去不少麻煩,不用自己再寫深拷貝或者淺拷貝物件的方法了。賦值,淺拷貝,深拷貝只針對可變變數,如list,dict,tuple python中賦值都是進行記憶體位址的傳遞 淺拷貝 copy,copy 只會賦...