一个浅拷贝将获得一个原始对象的副本并创建一个新的复合对象,但是如果我们正在复制的对象是一个复合对象,那么内部对象将与在原始对象中找到的对象相同。...当我们需要处理复合对象时,事情会变得有点复杂。...浅拷贝构造一个新的复合对象,然后(在可能的范围内)将对原始对象中找到的对象的引用插入其中。
深层拷贝将获取原始对象的副本,然后递归地获取找到的内部对象的副本(如果有的话)。...b 中的相应列表:
>>> a[0][0] = 0
>>> a
[[0, 2, 3], [4, 5, 6]]
>>> b
[[1, 2, 3], [4, 5, 6]]
因此,当我们必须处理复合对象并希望确保任何内部对象的更改都不会影响引用相同对象的其他变量时...另一方面,开发人员在修改可变对象类型时需要非常小心,因为这个操作可能会潜在地影响保存相同对象的引用的其他变量。当此类对象就地更改时,引用同一对象的所有其他变量也将受到此更改的影响。