Python的copy模块提供了两个函数:copy()
和 deepcopy()
,它们用于实现对象的浅拷贝和深拷贝。
copy()
函数用于浅拷贝,它只会复制对象本身,而不会复制对象内部的子对象。如果浅拷贝的对象包含了子对象,那么拷贝得到的新对象和原对象的子对象会共享同一块内存。deepcopy()
函数用于深拷贝,它会复制对象本身和对象内部的所有子对象,新对象和原对象的子对象不再共享同一块内存。
一般来说建议在对不可变对象进行操作时使用浅拷贝,因为它更快。对于可变对象建议使用深拷贝,因为如果不这样,更改新对象会影响原来的对象。