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']]
以上是Python 拷貝物件的詳細內容。更多資訊請關注PHP中文網其他相關文章!