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分析apache访问日志脚本分享
Feb 26 Python
python基于urllib实现按照百度音乐分类下载mp3的方法
May 25 Python
Python实现简单截取中文字符串的方法
Jun 15 Python
Python中的左斜杠、右斜杠(正斜杠和反斜杠)
Aug 30 Python
itchat接口使用示例
Oct 23 Python
Python算法输出1-9数组形成的结果为100的所有运算式
Nov 03 Python
python自动发送测试报告邮件功能的实现
Jan 22 Python
详解Python中is和==的区别
Mar 21 Python
简单了解python中对象的取反运算符
Jul 01 Python
python与C、C++混编的四种方式(小结)
Jul 15 Python
Tensorflow中的dropout的使用方法
Mar 13 Python
python中print格式化输出的问题
Apr 16 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图像处理类代码分享
2012/01/19 PHP
浅析php插件 Simple HTML DOM 用DOM方式处理HTML
2013/07/01 PHP
PHP遍历并打印指定目录下所有文件实例
2014/02/10 PHP
详解laravel passport OAuth2.0的4种模式
2019/11/04 PHP
php 输出缓冲 Output Control用法实例详解
2020/03/03 PHP
JSuggest自动匹配下拉框使用方法(示例代码)
2013/12/27 Javascript
jQuery动态效果显示人物结构关系图的方法
2015/05/07 Javascript
浅谈$(document)和$(window)的区别
2015/07/15 Javascript
jquery插件tytabs.jquery.min.js实现渐变TAB选项卡效果
2015/08/25 Javascript
APP中javascript+css3实现下拉刷新效果
2016/01/27 Javascript
mvvm双向绑定机制的原理和实现代码(推荐)
2016/06/07 Javascript
vue生成文件本地打开查看效果的实例
2018/09/06 Javascript
简单了解JS打开url的方法
2020/02/21 Javascript
详解ES6中class的实现原理
2020/10/03 Javascript
vue中配置scss全局变量的步骤
2020/12/28 Vue.js
json.stringify()与json.parse()的区别以及用处
2021/01/25 Javascript
Python环境下搭建属于自己的pip源的教程
2016/05/05 Python
Python实现购物车功能的方法分析
2017/11/10 Python
python机器学习之决策树分类详解
2017/12/20 Python
深入浅析Python中的yield关键字
2018/01/24 Python
在python中对变量判断是否为None的三种方法总结
2019/01/23 Python
详解java调用python的几种用法(看这篇就够了)
2020/12/10 Python
一款纯css3实现的响应式导航
2014/10/31 HTML / CSS
Oracle里面常用的数据字典有哪些
2014/02/14 面试题
大学生水文观测实习自我鉴定
2013/09/29 职场文书
产品工艺师的岗位职责
2013/11/15 职场文书
给男朋友的道歉信
2014/01/12 职场文书
放飞蜻蜓反思
2014/02/05 职场文书
企业军训感言
2014/02/08 职场文书
促销活动计划书
2014/05/02 职场文书
海上钢琴师的观后感
2015/06/11 职场文书
创业者如何撰写出一份打动投资人的商业计划书?
2019/07/02 职场文书
创业计划书之珠宝饰品
2019/08/26 职场文书
vue/cli 配置动态代理无需重启服务的方法
2022/05/20 Vue.js
Android中的Launch Mode详情
2022/06/05 Java/Android