python拷貝對象

在python中複製變量時應當注意,Python中的對象之間賦值時是按引用傳遞的,如果需要拷貝對象,需要使用標準庫中的copy模塊。 
1. copy.copy 淺拷貝 只拷貝父對象,不會拷貝對象的內部的子對象。 

2. copy.deepcopy 深拷貝 拷貝對象及其子對象 

import copy  
a = [1, 2, 3, 4, ['a', 'b']] #原始對象 
b = a #賦值,傳對象的引用  
c = copy.copy(a) #對象拷貝,淺拷貝  
d = copy.deepcopy(a) #對象拷貝,深拷貝 
a.append(5) #修改對象a  
a[4].append('c') #修改對象a中的['a', 'b']數組對象
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']]
'''

發佈了44 篇原創文章 · 獲贊 23 · 訪問量 15萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章