`copy` 是Python标准库中的一个模块,它提供了两种复制对象的方法:`copy.copy()` 和 `copy.deepcopy()`。
`copy.copy()` 提供的是浅拷贝(shallow copy),它创建一个新对象,这个新对象有着原始对象值的一份精确拷贝。如果对象是可变的,拷贝出来的对象和原始对象指向的是内存中的同一个位置,因此对拷贝出来的对象的修改会影响到原始对象。
`copy.deepcopy()` 提供的是深拷贝(deep copy),它会递归地拷贝对象及其包含的所有子对象,创建一个完全独立的拷贝。这意味着,对深拷贝出来的对象的修改不会影响到原始对象。
需要注意的是,浅拷贝在处理嵌套对象时,只有最外层的对象会被复制,内部的子对象仍然是引用关系。而深拷贝则会为所有层级的子对象都创建新的副本。
这个模块在需要复制复杂数据结构,尤其是包含可变子对象的场景中非常有用。