浅拷贝
完整的拷贝所有信息 包裹内部对象的包含关系等
>>> a = [1,2]>>> b = a #或 b = copy.copy(a)>>> b.append(3)>>> b[1, 2, 3]>>> a[1, 2, 3]

浅拷贝是拷贝引用(就是黄色箭头)
可以通过 id(a) == id(b)来查看
>>> id(a)4503060872>>> id(b)4503060872
如果是赋值,那么他们的id是一样的
如果是copy.copy 那么他们的id不太,但是拷贝后的变量中的元素指向是相同的,但如果a是元组类型,那么id不变,因为元组是不可变类型。
>>> a = [1,2]>>> b = [3,4]>>> c = [a,b]>>> d = copy.copy(c)>>> id(c)4503060872>>> id(d)4504400776>>> id(c[0])4504274312>>> id(d[0])4504274312
深拷贝
拷贝所有的值,形成一个全新的对象。
>>> import copy>>> a = [1,2]>>> b = [3,4]>>> c = [a,b]>>> d = copy.copy(c)>>> e = copy.deepcopy(c)>>> e[[1, 2], [3, 4]]>>> id(c[0])4504274312>>> id(e[0])4504400840>>> a.append(666)>>> c[[1, 2, 666], [3, 4]]>>> d[[1, 2, 666], [3, 4]]>>> e[[1, 2], [3, 4]]
