
深浅拷贝的定义深浅拷贝是Python中复制对象的两种方式区别在于是否递归复制嵌套对象浅拷贝Shallow Copy创建新对象仅复制原对象的引用即新对象与原对象共享嵌套对象适合处理单层对象或嵌套不可变对象的场景效率高深拷贝Deep Copy创建新对象递归复制原对象的所有内容包括嵌套对象新对象与原对象完全独立适合处理多层嵌套可变对象的场景确保数据完全独立内存区别举例 原对象为a [1[23] ]浅拷贝b a.copy() #共享内层列表的引用深拷贝c copy.deepcopy(a) #内层列表是新复制的实现方式与示例浅拷贝的实现方式1.列表/字典的copy方法2.切片列表 [ : ] 3.copy.copy函数深拷贝的实现方式copy.deepcopy函数常见误区与注意事项1.赋值不是拷贝前者只是创建引用后者才是真正的复制2.不可变对象无需深拷贝因为它们本身不可变3.自定义对象的拷贝若自定义类需要支持深拷贝需实现__deepcopy__方法默认情况下深拷贝会递归调用对象的__deepcopy__方法