copy原内容改变,赋值对象也随之改变
deepcopy原内容改变,赋值对象不会改变
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)
a = [1, 2, 3, 4, ['a', 'b', 'c'], 5]
print ('b = ', b)
b = [1, 2, 3, 4, ['a', 'b', 'c'], 5]
print ('c = ', c)
c = [1, 2, 3, 4, ['a', 'b', 'c']]
print ('d = ', d)
d = [1, 2, 3, 4, ['a', 'b']]