python3 shallow copy and deep copy 的区别及理解
发布时间
阅读量:
阅读量
Reference:
链接:https://www.jianshu.com/p/03dce38cc97e
首先,我们了解在Python3编程语言中,存在六种标准的数据类型,这些类型可进一步划分为不可更改与可更改两类。
不可更改的数据类型(共三种):
- Number(数值型)
- String(字符串型)
- Tuple(元组型)
可更改的数据类型(共三种):
- List(列表型)
- Dictionary(字典型)
- Set(集合型)
浅拷贝与深度拷贝对比分析
浅拷贝
copy模块中copy方法的实现方式
1、针对**不可变类型** Number String Tuple,浅复制仅指向原有地址,不会生成新的存储空间。然而,**当值发生改变时,则会生成新的地址**2、对于**可变类型** List、Dictionary、Set,浅复制会在最顶层生成新的存储地址(但内部元素的地址仍保持一致),完成浅拷贝操作
**完成浅拷贝后:**
**若修改原始对象中属于可变类型的元素值,将同时影响到拷贝对象的内容;- `*若修改原始对象中属于不可变类型的元素值,则仅原始对象受到影响,拷贝对象内容保持不变。
全部评论 (0)
还没有任何评论哟~
