浅拷贝
-
使用方式
import copy # 浅拷贝 copy.copy()
-
拷贝原则
- 对可变类型对象进行浅拷贝, 只做顶层拷贝
- 对不可变类型对象进行浅拷贝, 那么不拷贝
深拷贝
-
使用方式
import copy # 深拷贝 copy.deepcopy()
-
拷贝原则
- 对可变类型对象进行深拷贝, 除了顶层拷贝,还会对该对象的子元素进行深拷贝
- 对不可变类型对象进行深拷贝(递归思维,以递归出口为最终 是否执行拷贝操作的依据)
- 如果该对象存在可变类型数据的子元素, 那么会顶层拷贝, 并且对其子元素进行深拷贝
- 如果该对象不存在可变数据对象, 那么不拷贝