copy不会产生独立的对象,只是给原对象加标签,原对象改变会影响复制对象
deepcopy会产生独立的对象,原对象只改变不影响复制对象
对于简单的对象而言,两者是没有区别的
对于复杂对象而言,区别会体现出来。例如:
import copy a = [1, 2, 3, [1, 2, 3]] b=copy.copy(a) c=copy.deepcopy(a) a[0]=7 结果[1, 2, 3, [1, 2, 3]] [1, 2, 3, [1, 2, 3]] a[3][0]=6 print(b,c) 结果:[1, 2, 3, [6, 2, 3]] [1, 2, 3, [1, 2, 3]] #print(b==c) 比较值 #print(b is c) 比较两者是不是一个对象