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 21 Python
python通过post提交数据的方法
May 06 Python
Python实现约瑟夫环问题的方法
May 03 Python
Python爬取三国演义的实现方法
Sep 12 Python
Django框架的中的setting.py文件说明详解
Oct 15 Python
用python打印菱形的实操方法和代码
Jun 25 Python
详解Python是如何实现issubclass的
Jul 24 Python
python itsdangerous模块的具体使用方法
Feb 17 Python
python中使用paramiko模块并实现远程连接服务器执行上传下载功能
Feb 29 Python
详解Python利用configparser对配置文件进行读写操作
Nov 03 Python
python3.9之你应该知道的新特性详解
Apr 29 Python
Python机器学习应用之工业蒸汽数据分析篇详解
Jan 18 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安装为Apache DSO
2006/10/09 PHP
PHP file_exists问题杂谈
2012/05/07 PHP
php使用正则表达式提取字符串中尖括号、小括号、中括号、大括号中的字符串
2020/04/05 PHP
PHP 实现文件压缩解压操作的方法
2019/06/14 PHP
PHP正则之正向预查与反向预查讲解与实例
2020/04/06 PHP
高效的表格行背景隔行变色及选定高亮的JS代码
2010/12/04 Javascript
通过js动态操作table(新增,删除相关列信息)
2012/05/23 Javascript
JS文本框默认值处理详解
2013/07/10 Javascript
js获取当前月的第一天和最后一天的小例子
2013/11/18 Javascript
jquery制作弹窗提示窗口代码分享
2014/03/02 Javascript
js实现分享到随页面滚动而滑动效果的方法
2015/04/10 Javascript
编写高性能Javascript代码的N条建议
2015/10/12 Javascript
学习JavaScript设计模式(继承)
2015/11/26 Javascript
浅谈javascript中的call、apply、bind
2016/03/06 Javascript
用jQuery获取table中行id和td值的实现代码
2016/05/19 Javascript
详解如何在webpack中做预渲染降低首屏空白时间
2018/08/22 Javascript
JavaScript中常用的简洁高级技巧总结
2019/03/10 Javascript
[01:45]典藏宝瓶2+祈求者身心——这就是DOTA2TI9总奖金突破3000万美元的秘密
2019/07/21 DOTA
python的Template使用指南
2014/09/11 Python
Python创建模块及模块导入的方法
2015/05/27 Python
Python使用QRCode模块生成二维码实例详解
2017/06/14 Python
Python-openCV读RGB通道图实例
2020/01/17 Python
Pytorch中.new()的作用详解
2020/02/18 Python
python GUI库图形界面开发之PyQt5切换按钮控件QPushButton详细使用方法与实例
2020/02/28 Python
Python unittest框架操作实例解析
2020/04/13 Python
Django怎么在admin后台注册数据库表
2020/11/14 Python
CSS3 Flexbox中flex-shrink属性的用法示例介绍
2013/12/30 HTML / CSS
纯css3实现图片翻牌特效
2015/03/10 HTML / CSS
详解如何在登录过期后跳出Ifram框架
2020/09/10 HTML / CSS
财务部副经理岗位职责范本
2014/06/17 职场文书
2015年个人实习工作总结
2015/05/28 职场文书
物资采购管理制度
2015/08/06 职场文书
爱国主题班会教案
2015/08/14 职场文书
2016抗战胜利71周年红领巾广播稿
2015/12/18 职场文书
用python开发一款操作MySQL的小工具
2021/05/12 Python
python计算列表元素与乘积详情
2022/08/05 Python