Python浅拷贝与深拷贝用法实例


Posted in Python onMay 09, 2015

本文实例讲述了Python浅拷贝与深拷贝用法。分享给大家供大家参考。具体分析如下:

>>> person=['name',['savings',100]]
>>> hubby=person[:]
>>> wifey=list(person)
>>> [id(x) for x in person,hubby,wifey]
[3074051788L, 3074061740L, 3074061996L]
>>> [id(y) for x in person,hubby,wifey for y in x]
[3074319552L,3073979916L,3074319552L,3073979916L,3074319552L,3073979916L]
>>> hubby[0]='joe'
>>> wifey[0]='jane'
(['joe',['savings',100]],['jane',['savings',100]],['name',['savings',100]])
>>> hubby[1][1]=70
>>> hubby,wifey,person
(['joe',['savings',70]],['jane',['savings',70]],['name',['savings',70]])

浅拷贝,创造了新的对象,但是它的对象引用确和被拷贝对象一致。

如果被拷贝对象的构成元素是不可变类型,则拷贝对象对这个元素的改变,实际上是创造一个新的对象。

如果被拷贝对象的构成元素是可变类型,则拷贝对象对这个元素的改变,实际上是在原对象的内存空间上修改这个内存空间里面的内容。

这样,才有hubby[1][1]=70会导致wifey,person相应值的改变。

希望本文所述对大家的Python程序设计有所帮助。

Python 相关文章推荐
Python中实现常量(Const)功能
Jan 28 Python
python操作ssh实现服务器日志下载的方法
Jun 03 Python
python机器学习实战之最近邻kNN分类器
Dec 20 Python
Python 生成 -1~1 之间的随机数矩阵方法
Aug 04 Python
python 实现UTC时间加减的方法
Dec 31 Python
python调用matlab的m自定义函数方法
Feb 18 Python
django 捕获异常和日志系统过程详解
Jul 18 Python
如何在Django中使用聚合的实现示例
Mar 23 Python
什么是Python中的顺序表
Jun 02 Python
Python实现像awk一样分割字符串
Sep 15 Python
解决Django transaction进行事务管理踩过的坑
Apr 24 Python
用Python创建简易网站图文教程
Jun 11 Python
九步学会Python装饰器
May 09 #Python
Python类属性与实例属性用法分析
May 09 #Python
python回调函数用法实例分析
May 09 #Python
python类和函数中使用静态变量的方法
May 09 #Python
Python实用日期时间处理方法汇总
May 09 #Python
python fabric使用笔记
May 09 #Python
Python字符串详细介绍
May 09 #Python
You might like
php统计文件大小,以GB、MB、KB、B输出
2011/05/29 PHP
PHP使用curl制作简易百度搜索
2016/11/03 PHP
php制作基于xml的RSS订阅源功能示例
2017/02/08 PHP
阻止JavaScript事件冒泡传递(cancelBubble 、stopPropagation)
2007/05/08 Javascript
angularjs学习笔记之完整的项目结构
2015/09/26 Javascript
JS实现点击按钮获取页面高度的方法
2015/11/02 Javascript
javascript编程异常处理实例小结
2015/11/30 Javascript
jQuery中bind(),live(),delegate(),on()绑定事件方法实例详解
2016/01/19 Javascript
javascript HTML5 canvas实现打砖块游戏
2020/06/18 Javascript
DOM操作原生js 的bug,使用jQuery 可以消除的解决方法
2016/09/04 Javascript
微信小程序前端源码逻辑和工作流
2016/09/25 Javascript
nodejs服务搭建教程 nodejs访问本地站点文件
2017/04/07 NodeJs
如何通过非数字与字符的方式实现PHP WebShell详解
2017/07/02 Javascript
安装vue-cli报错 -4058 的解决方法
2017/10/19 Javascript
Vue+ElementUI实现表单动态渲染、可视化配置的方法
2018/03/07 Javascript
VUE中v-on:click事件中获取当前dom元素的代码
2018/08/22 Javascript
浅谈对于“不用setInterval,用setTimeout”的理解
2019/08/28 Javascript
微信小程序动态添加和删除组件的现实
2020/02/28 Javascript
[02:20]2014DOTA2西雅图邀请赛 MVP外卡赛首胜采访
2014/07/09 DOTA
[50:50]完美世界DOTA2联赛PWL S3 Galaxy Racer vs Phoenix 第一场 12.10
2020/12/13 DOTA
在Django框架中编写Contact表单的教程
2015/07/17 Python
Python编写Windows Service服务程序
2018/01/04 Python
解决Python 爬虫URL中存在中文或特殊符号无法请求的问题
2018/05/11 Python
对numpy中向量式三目运算符详解
2018/10/31 Python
python 抓包保存为pcap文件并解析的实例
2019/07/23 Python
python使用 cx_Oracle 模块进行查询操作示例
2019/11/28 Python
pytorch方法测试详解——归一化(BatchNorm2d)
2020/01/15 Python
乌克兰网上服装店:Bolf.ua
2018/10/30 全球购物
物理教育专业毕业生推荐信
2013/11/03 职场文书
《中国的气候》教学反思
2014/02/23 职场文书
纪念九一八事变83周年国旗下讲话稿
2014/09/15 职场文书
给校长的一封检讨书
2014/09/20 职场文书
营业用房租赁协议书
2014/11/26 职场文书
党员思想汇报材料
2014/12/19 职场文书
具结保证书范本
2015/05/11 职场文书
《女娲补天》教学反思
2016/02/20 职场文书