深拷贝浅拷贝

浅拷贝:实际上只是对最外层对象进行了拷贝,而对内层对象则不进行拷贝,只增加了外层对象一份内存。
深拷贝:对内层对象进行递归拷贝,增加了所有的内层对象占用的内存。

对不可变类型(如元组)的特殊处理
具体表现为如果元组的元素是集合类型,则deepcopy依然进行递归拷贝,而copy不进行任何处理,同赋值语句一样
对于如果元组内元素不是集合类型,Python又有一种特殊处理,即使是自定义类型,copy和deepcopy的效果是一样的都相当于赋值语句

如果测试时使用的元素类型为int型或者str型,那么得到的结果可能不是这样,
因为这是Python对int型和str型进行的特殊处理
深复制和浅复制都对字符串和整型数字有优化操作,在C#、OC中都存在,常被称为“字符串驻留”,
Python中称为intern机制,对于相同值的对象优化为指向内存中的一块地址,而不再分配新的内存。

原文地址:https://www.cnblogs.com/weiwei-python/p/9781224.html