import copy
>>> a = [1,2,3,[1,2,3]]
>>>b = a = 直接赋值,a, b指向同一个对象
>>>b
>>>[1,2,3,[1,2,3]]
>>> c = copy.copy(a) copy.copy(), 浅复制,a, c指向不同的对象,但是他们的子对象还是指向同一个对象,在这里是 [1, 2, 3]指向同一个对象,一修改就都修改了
>>> c
[1, 2, 3, [1, 2, 3]]
>>> d = copy.deepcopy(a) copy.deepcopy(), 深复制,a, d以及其子对象都完全独立,都指向不同的对象
>>> d
[1, 2, 3, [1, 2, 3]]
>>> a[0] = 4
>>> a[3].append(4)
>>> a
[4, 2, 3, [1, 2, 3, 4]]
>>> b
[4, 2, 3, [1, 2, 3, 4]] = 赋值,a怎么变b就怎么变
>>> c
[1, 2, 3, [1, 2, 3, 4]] copy.copy()浅复制, 只有子对象指向同一个对象,只有子对象才会跟着一起变
>>> d
[1, 2, 3, [1, 2, 3]] copy.deepcopy()深复制, a , d以及子对象都完全不相关,互不影响
原文:https://www.cnblogs.com/TestDeveloper/p/12878305.html