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的Flask框架下收发电子邮件的教程
Apr 21 Python
python类和函数中使用静态变量的方法
May 09 Python
python逐行读写txt文件的实例讲解
Apr 03 Python
python3+PyQt5泛型委托详解
Apr 24 Python
Python利用公共键如何对字典列表进行排序详解
May 19 Python
在python中利用KNN实现对iris进行分类的方法
Dec 11 Python
Python设计模式之代理模式实例详解
Jan 19 Python
Python算法中的时间复杂度问题
Nov 19 Python
Python面向对象魔法方法和单例模块代码实例
Mar 25 Python
Django media static外部访问Django中的图片设置教程
Apr 07 Python
matplotlib绘制正余弦曲线图的实现
Feb 22 Python
Python torch.flatten()函数案例详解
Aug 30 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
一个程序下载的管理程序(四)
2006/10/09 PHP
php网页标题中文乱码的有效解决方法
2014/03/05 PHP
php实现信用卡校验位算法THE LUHN MOD-10示例
2014/05/07 PHP
jquery实现的可隐藏重现的靠边悬浮层实例代码
2013/05/27 Javascript
js验证模型自我实现的具体方法
2013/06/21 Javascript
jQuery 文本框得失焦点的简单实例
2014/02/19 Javascript
Jquery插件之Fancybox丰富的弹出层效果附源码下载
2015/12/02 Javascript
js实现的彩色方块飞舞奇幻效果
2016/01/27 Javascript
AngularJS学习笔记(三)数据双向绑定的简单实例
2016/11/08 Javascript
AngularJS自定义服务与fliter的混合使用
2016/11/24 Javascript
浅谈Angular文字折叠展开组件的原理分析
2017/11/24 Javascript
Vue侧滑菜单组件——DrawerLayout
2017/12/18 Javascript
JS Object.preventExtensions(),Object.seal()与Object.freeze()用法实例分析
2018/08/25 Javascript
解决Js先触发失去焦点事件再执行点击事件的问题
2018/08/30 Javascript
CentOS7中源码编译安装NodeJS的完整步骤
2018/10/13 NodeJs
Python随机生成一个6位的验证码代码分享
2015/03/24 Python
Python实现短网址ShortUrl的Hash运算实例讲解
2015/08/10 Python
老生常谈进程线程协程那些事儿
2017/07/24 Python
Python打开文件,将list、numpy数组内容写入txt文件中的方法
2018/10/26 Python
Django ORM 聚合查询和分组查询实现详解
2019/08/09 Python
Python的pygame安装教程详解
2020/02/10 Python
python实现查找所有程序的安装信息
2020/02/18 Python
Pycharm IDE的安装和使用教程详解
2020/04/30 Python
python使用yaml 管理selenium元素的示例
2020/12/01 Python
CSS3实现10种Loading效果
2016/07/11 HTML / CSS
Forever 21美国官网:美国标志性快时尚品牌
2017/02/20 全球购物
美国LOGO设计公司:The Logo Company
2018/07/16 全球购物
国税会议欢迎词
2014/01/16 职场文书
中学运动会广播稿
2014/01/19 职场文书
QQ空间主人寄语大全
2014/04/12 职场文书
英文求职信范文
2014/05/23 职场文书
会计学毕业生求职信
2014/06/25 职场文书
园林技术专业求职信
2014/07/28 职场文书
2015年教师节贺卡寄语
2015/03/24 职场文书
英语演讲开场白
2015/05/29 职场文书
解决Redis启动警告问题
2022/02/24 Redis