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编程入门的一些基本知识
May 13 Python
Python备份目录及目录下的全部内容的实现方法
Jun 12 Python
判断网页编码的方法python版
Aug 12 Python
Python实现的堆排序算法示例
Apr 29 Python
python中的print()输出
Apr 12 Python
python读csv文件时指定行为表头或无表头的方法
Jun 26 Python
Python使用Beautiful Soup爬取豆瓣音乐排行榜过程解析
Aug 15 Python
Python pandas 列转行操作详解(类似hive中explode方法)
May 18 Python
解决numpy矩阵相减出现的负值自动转正值的问题
Jun 03 Python
PyQt中使用QtSql连接MySql数据库的方法
Jul 28 Python
PyCharm2020.1.2社区版安装,配置及使用教程详解(Windows)
Aug 07 Python
用 Django 开发一个 Python Web API的方法步骤
Dec 03 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
memcached 和 mysql 主从环境下php开发代码详解
2010/05/16 PHP
详谈PHP文件目录基础操作
2014/11/11 PHP
PHP 使用memcached简单示例分享
2015/03/05 PHP
php将字符串转换成16进制的方法
2015/03/17 PHP
递归实现php数组转xml的代码分享
2015/05/14 PHP
PHP给前端返回一个JSON对象的实例讲解
2018/05/31 PHP
关于恒等于(===)和非恒等于(!==)
2007/08/20 Javascript
JS文本框默认值处理详解
2013/07/10 Javascript
使用JQUERY进行后台页面布局控制DIV实现左右式
2014/01/07 Javascript
js实现的GridView即表头固定表体有滚动条且可滚动
2014/02/19 Javascript
sogou地图API用法实例教程
2014/09/11 Javascript
Node.js中HTTP模块与事件模块详解
2014/11/14 Javascript
DOM 事件流详解
2015/01/20 Javascript
js实现刷新iframe的方法汇总
2015/04/27 Javascript
JS动画效果打开、关闭层的实现方法
2015/05/09 Javascript
基于jQuery仿淘宝产品图片放大镜代码分享
2020/06/23 Javascript
JS实现设置ff与ie元素绝对位置的方法
2016/03/08 Javascript
微信小程序 progress组件详解及实例代码
2016/10/25 Javascript
jquery仿ps颜色拾取功能
2017/03/08 Javascript
解决vue.js在编写过程中出现空格不规范报错的问题
2017/09/20 Javascript
js 图片转base64的方式(两种)
2018/04/24 Javascript
vue中eslintrc.js配置最详细介绍
2018/12/21 Javascript
vue悬浮可拖拽悬浮按钮的实例代码
2019/08/20 Javascript
使用js原生实现年份轮播选择效果实例
2021/01/12 Javascript
[03:59]第二届DOTA2亚洲邀请赛选手传记-VGJ.rOtk
2017/04/03 DOTA
python实现隐马尔科夫模型HMM
2018/03/25 Python
Python解决线性代数问题之矩阵的初等变换方法
2018/12/12 Python
Python函数参数定义及传递方式解析
2020/06/10 Python
matplotlib 画动态图以及plt.ion()和plt.ioff()的使用详解
2021/01/05 Python
美国紧身牛仔裤品牌:NYDJ
2017/05/24 全球购物
设计模式的基本要素是什么
2014/04/21 面试题
学生穿着不得体检讨书
2014/10/12 职场文书
2015年学生会个人工作总结
2015/04/09 职场文书
学生通报表扬范文
2015/05/04 职场文书
情感电台广播稿
2015/08/18 职场文书
mysql 排序失效
2022/05/20 MySQL