Python 中的深拷贝和浅拷贝
2015-10-27 09:45
363 查看
一、浅拷贝
python中 对象赋值时 默认是浅拷贝,满足如下规律:
1. 对于 不可变对象(字符串,元组 等),赋值 实际上是创建一个新的对象;例如:
2. 对于 可变对象,赋值实际上 只是增加了一个新的 引用。 接上例:
python中 对象赋值时 默认是浅拷贝,满足如下规律:
1. 对于 不可变对象(字符串,元组 等),赋值 实际上是创建一个新的对象;例如:
>>> person=['name',['saving',100.0]] >>> hubby=person[:] >>> hubby ['name', ['saving', 100.0]] >>> wifey=list(person) >>> hubby[0]='joe' >>> wifey[0]='jane' >>> hubby,wifey (['joe', ['saving', 100.0]], ['jane', ['saving', 100.0]]) 说明:本例中的person的第一项'name' 是不可变字符串对象,所以 >>> hubby[0]='joe' >>> wifey[0]='jane' 分别创建了2个字符串对象
2. 对于 可变对象,赋值实际上 只是增加了一个新的 引用。 接上例:
>>> hubby[1][1]=20 >>> hubby,wifey (['joe', ['saving', 20]], ['jane', ['saving', 20]]) 说明:可以发现,妻子jane的存款也为20,因为前面是一种浅拷贝,person的第二项是个列表,100是可变对象,
相关文章推荐
- tkinter Combobox组件
- numpy
- Python学习基础篇(一)
- python学习手册四
- python字符串
- python文件读写
- python数学计算
- python输入
- python列表
- python类型转换
- python字典
- python自学之字典
- Python Requsets库
- 关于python中文转码出现的错误
- 在Ubuntu下开始搭建Python开发平台
- python使用wmi模块获取windows下的系统信息 监控系统
- python学习——基础(九)
- fips2
- Python下使用help(dict),显示'more'不是内部或外部命令,也不是可运行的程序或批处理文件,该如何处理?
- python中一个快速求素数的function