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 相关文章推荐
简单的编程0基础下Python入门指引
Apr 01 Python
举例详解Python中循环语句的嵌套使用
May 14 Python
Django接受前端数据的几种方法总结
Nov 04 Python
selenium+python设置爬虫代理IP的方法
Nov 29 Python
python 处理数字,把大于上限的数字置零实现方法
Jan 28 Python
Python: 传递列表副本方式
Dec 19 Python
python3获取文件中url内容并下载代码实例
Dec 27 Python
keras Lambda自定义层实现数据的切片方式,Lambda传参数
Jun 11 Python
基于django2.2连oracle11g解决版本冲突的问题
Jul 02 Python
python中子类与父类的关系基础知识点
Feb 02 Python
Pyqt5将多个类组合在一个界面显示的完整示例
Sep 04 Python
Python可视化学习之matplotlib内置单颜色
Feb 24 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
1982年日本摄影师镜头下的中国孩子 那无忧无虑的童年
2020/03/12 杂记
php 获取mysql数据库信息代码
2009/03/12 PHP
探讨:如何通过stats命令分析Memcached的内部状态
2013/06/14 PHP
阻止事件(取消浏览器对事件的默认行为并阻止其传播)
2013/11/03 Javascript
jQuery中width()方法用法实例
2014/12/24 Javascript
jQuery中prevAll()方法用法实例
2015/01/08 Javascript
javascript实现10个球随机运动、碰撞实例详解
2015/07/08 Javascript
jquery实现鼠标滑过小图查看大图的方法
2015/07/20 Javascript
javascript实现动态统计图开发实例
2015/11/21 Javascript
基于javascript实现checkbox复选框实例代码
2016/01/28 Javascript
使用vue.js实现checkbox的全选和多个的删除功能
2017/02/17 Javascript
实现微信小程序的wxml文件和wxss文件在webstrom的支持
2017/06/12 Javascript
浅析webpack 如何优雅的使用tree-shaking(摇树优化)
2017/08/16 Javascript
layui 解决form表单点击无反应的问题
2019/10/25 Javascript
JS函数参数的传递与同名参数实例分析
2020/03/16 Javascript
javascript实现简易计算器功能
2020/09/23 Javascript
python client使用http post 到server端的代码
2013/02/10 Python
PyCharm代码整体缩进,反向缩进的方法
2018/06/25 Python
Pytorch加载部分预训练模型的参数实例
2019/08/18 Python
Pycharm pyuic5实现将ui文件转为py文件,让UI界面成功显示
2020/04/08 Python
jupyter notebook清除输出方式
2020/04/10 Python
Python中如何添加自定义模块
2020/06/09 Python
Europcar澳大利亚官网:全球汽车租赁领域的领导者
2019/03/24 全球购物
中国一家综合的外贸B2C电子商务网站:DealeXtreme(DX)
2020/03/10 全球购物
SQL语言面试题
2013/08/27 面试题
Java程序开发中如何应用线程
2016/03/03 面试题
掌上明珠Java程序员面试总结
2016/02/23 面试题
简单的JAVA编程面试题
2013/03/19 面试题
餐饮业经理竞聘演讲稿
2014/01/14 职场文书
爱我中华演讲稿
2014/05/20 职场文书
说好普通话圆梦你我他演讲稿
2014/09/21 职场文书
财务工作检讨书
2014/10/29 职场文书
力克胡哲观后感
2015/06/10 职场文书
九不准学习心得体会
2016/01/23 职场文书
Python 中数组和数字相乘时的注意事项说明
2021/05/10 Python
最新动漫情报:2022年7月新番定档超过30部, OVERLORD骨王第四季也在其中噢
2022/05/04 日漫