一、浅拷贝copy和深拷贝deepcopy
copy模块下的copy.copy和copy.deepcopy
浅拷贝的特点:
- 公用一个值
- 拷贝前变量的地址值和拷贝后变量的地址值一样
- 修改原有变量的值,拷贝后的值也发生改变
深拷贝的特点:
- 把原有变量的值复制一份
- 修改原有变量的值,拷贝后的值不会发生改变
- 拷贝前变量的地址值和拷贝后变量的地址值不一样
1、对于可变类型:
(1)浅拷贝(copy):拷贝一个的引用(根源)
(2)深拷贝(deepcopy):复制一份
2、对于不可变类型:
(1)浅拷贝(copy):拷贝一个引用
(2)深拷贝(deepcopy):拷贝一个引用
3、对于可变类型和不可变类型的嵌套:
(1)浅拷贝(copy):拷贝一个引用
(2)深拷贝(deepcopy):复制一份