深copy:创建一个新对象,重新分配内存地址,复制对象内容
浅copy:创建一个新对象,不重新分配内存地址,内容指向之前内存地址
对于不可变对象而言,深copy和浅copy作用一样。
深copy和浅copy一般作用于可变对象,如list,dit
import copy
array = ['name',[5,1,6,7],[3,6,9,20,10]]
#array[2:] = [0]
#array.insert(2,0)
#del array[1]
array1 = copy.copy(array)#浅copy
array2 = copy.deepcopy(array)#深copy
array3 = array #浅copy
array4 = array.copy() #浅copy
array1[0] = 'Alex'
array2[0] = 'Black'
array1[2].append('2')
array3[2].append('3')
array4[2].append('4')
print (array) #['name',[5,1,6,7],[3,6,9,20,10,2,3,4]]
print (array1)#['Alex',[5,1,6,7],[3,6,9,20,10,2,3,4]]]
print (array2)#['Black',[5,1,6,7],[3,6,9,20,10]]
print (array3)#['name',[5,1,6,7],[3,6,9,20,10,2,3,4]]
print (array4)#['name',[5,1,6,7],[3,6,9,20,10,2,3,4]]