浅拷贝:构造一个新的复合对象,并将从原对象中发现的引用插入该对象中,浅拷贝的实现方式有多种,如工厂函数,切片操作,copy模块中的copy操作等;
深拷贝:也构造一个新的复合对象,但是遇到引用会继续递归拷贝其所指向的具体内容,也就是说它会针对引用所指向的对象继续执行拷贝,因此产生的对象不受其他引用对象操作的影响,深拷贝的实现需要依赖copy模块的deepcopy()操作。
class A
A a
b = copy.copy(a)
修改b中成员变量
print(a)
会发现a中也修改了,a=b
浅拷贝之拷贝了地址,并未拷贝其中内容,当重新赋值的时候,就覆盖掉了a中原来的值
copy.deepcopy()拷贝了地址和对象内容,不再影响原对象的值