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判断字符串是否包含子字符串的方法
Mar 24 Python
Python类属性的延迟计算
Oct 22 Python
Python访问MongoDB,并且转换成Dataframe的方法
Oct 15 Python
python实现flappy bird小游戏
Dec 24 Python
Python面向对象总结及类与正则表达式详解
Apr 18 Python
django admin组件使用方法详解
Jul 19 Python
wxPython实现分隔窗口
Nov 19 Python
Python打包模块wheel的使用方法与将python包发布到PyPI的方法详解
Feb 12 Python
关于Python 中的时间处理包datetime和arrow的方法详解
Mar 19 Python
jupyter 使用Pillow包显示图像时inline显示方式
Apr 24 Python
virtualenv介绍及简明教程
Jun 23 Python
python两种获取剪贴板内容的方法
Nov 06 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
Admin generator, filters and I18n
2011/10/06 PHP
php从csv文件读取数据并输出到网页的方法
2015/03/14 PHP
ThinkPHP框架实现定时执行任务的两种方法分析
2018/09/04 PHP
PHP多进程简单实例小结
2019/11/09 PHP
对YUI扩展的Gird组件 Part-2
2007/03/10 Javascript
javascript动画效果类封装代码
2007/08/28 Javascript
javaScript 关闭浏览器 (不弹出提示框)
2010/01/31 Javascript
重载toString实现JS HashMap分析
2011/03/13 Javascript
javascript针对DOM的应用分析(二)
2012/04/15 Javascript
Javascript实现滑块滑动改变值的实现代码
2013/04/12 Javascript
三种取消选中单选框radio的方法
2014/09/09 Javascript
jQuery制作简单柱状图实例
2015/01/28 Javascript
JavaScript函数节流概念与用法实例详解
2016/06/20 Javascript
AngularJS实现Input格式化的方法
2016/11/07 Javascript
React学习笔记之高阶组件应用
2018/06/02 Javascript
详解用async/await来处理异步
2019/08/28 Javascript
Vue 实现把表单form数据 转化成json格式的数据
2019/10/29 Javascript
rhythmbox中文名乱码问题解决方法
2008/09/06 Python
python中cPickle用法例子分享
2014/01/03 Python
Python基础之函数用法实例详解
2014/09/10 Python
在python3中pyqt5和mayavi不兼容问题的解决方法
2019/01/08 Python
Python使用matplotlib 模块scatter方法画散点图示例
2019/09/27 Python
python调用API接口实现登陆短信验证
2020/05/10 Python
canvas学习笔记之2d画布基础的实现
2019/02/21 HTML / CSS
北美领先的牛仔品牌:Buffalo David Bitton
2017/05/22 全球购物
掌上明珠Java程序员面试总结
2016/02/23 面试题
管道维修工岗位职责
2013/12/27 职场文书
大学校园毕业自我鉴定
2014/01/15 职场文书
绩效管理实施方案
2014/03/19 职场文书
单位委托书格式范本
2014/09/29 职场文书
总经理致辞
2015/07/29 职场文书
2019年教师节活动策划方案
2019/09/09 职场文书
python 下划线的多种应用场景总结
2021/05/12 Python
浅谈由position属性引申的css进阶讨论
2021/05/25 HTML / CSS
vue中利用mqtt服务端实现即时通讯的步骤记录
2021/07/01 Vue.js
Windows10安装Apache2.4的方法步骤
2022/06/25 Servers