python中浅拷贝和深度拷贝的区别
在很多面试题中都会问到浅拷贝跟深度拷贝的区别,前几天一个朋友也问到了我浅拷贝跟深度拷贝到底有什么区别,这里就简单举栗子讲一下两者的区别。
浅拷贝(copy()):拷贝父对象,不会拷贝对象的内部的子对象
深拷贝( copy.deepcopy()):完全拷贝父对象跟子对象
import copyl = [1, 2, ['a', 'b']] s_copy = l.copy() # 浅拷贝 d_copy = copy.deepcopy(l) # 深拷贝 l.append(3) l[2].append('c')print(l) # [1, 2, ['a', 'b', 'c'], 3] print(s_copy) # [1, 2, ['a', 'b', 'c']] print(d_copy) # [1, 2, ['a', 'b']]
通过上面的输出结果可以很好的看到,深拷贝是直接复制了所有的父对象跟子对象,原来的不管怎么变都跟他没关系,浅拷贝只是复制了当前的父对象,如果子对象发生变化,浅拷贝也是会跟着改变的。
深入解析:
1、b = a.copy(): 浅拷贝, a 和 b 是一个独立的对象,但他们的子对象还是指向统一对象(是引用)。
2、b = copy.deepcopy(a): 深度拷贝, a 和 b 完全拷贝了父对象及其子对象,两者是完全独立的。
转载于:https://www.cnblogs.com/zzqit/p/10229059.html
python中浅拷贝和深度拷贝的区别相关推荐
- 彻底理解Python中浅拷贝和深拷贝的区别
目录 前言 1. 浅拷贝和深拷贝的概念 2. is和==的区别 3. 赋值操作 4. copy模块里面的copy()方法 5. copy模块里面的deepcopy()方法 6.字典自带的copy方法 ...
- Python 直接赋值、浅拷贝和深度拷贝全解析
直接赋值:其实就是对象的引用(别名,其实就是一个人今天叫张三 明天叫张狗子的意思). 浅拷贝(copy):拷贝父对象,不会拷贝对象的内部的子对象. 深拷贝(deepcopy): copy 模块的 de ...
- 部分仍在编辑文章 - Python基础专题 - 深度解析python中的赋值与拷贝
深度解析python中的赋值与拷贝 jcLee95 的 CSDN 博客:https://blog.csdn.net/qq_28550263?spm=1011.2124.3001.5343 邮箱 :29 ...
- python中浅拷贝和深拷贝的区别_Python中浅拷贝和深拷贝的区别
Python中浅拷贝和深拷贝的区别 浅拷贝和深拷贝示意图 如上图,简单点说 1. copy.copy 浅拷贝 只拷贝父对象,不会拷贝对象的内部的子对象. 2. copy.deepcopy 深拷贝 拷贝 ...
- Python中浅拷贝和深拷贝的理解与研究
Python中浅拷贝和深拷贝的理解与研究 单层浅拷贝 import copy a = 1 # 不可变数据类型 copy_a = copy.copy(a) print(id(a),id(copy_a)) ...
- Python中浅拷贝和深拷贝的理解与研究 1
Python中浅拷贝和深拷贝的理解与研究 单层浅拷贝 import copy a = 1 # 不可变数据类型 copy_a = copy.copy(a) print(id(a),id(copy_a)) ...
- Python中爬虫框架或模块的区别
Python中爬虫框架或模块的区别,我们在Python的学习过程中,需要不断的总结知识点,这样我们才能进步的更快一些. (1)爬虫框架或模块 Python自带爬虫模块:urllib.urllib2; ...
- Python中值传递和引用传递区别
原文:http://blog.csdn.net/xuqiaobo/article/details/72236539 举例,函数参数如果是dic,都不需要返回值,原值就被改变了 def aa(dic): ...
- Python中str()与repr()函数的区别——repr() 的输出追求明确性,除了对象内容,还需要展示出对象的数据类型信息,适合开发和调试阶段使用...
Python中str()与repr()函数的区别 from:https://www.jianshu.com/p/2a41315ca47e 在 Python 中要将某一类型的变量或者常量转换为字符串对象 ...
最新文章
- HB限时领Deponia: The Complete Journey
- python svm
- 如何查看linux函数对应的库文件
- The MIT License (MIT)
- Java SE(2)
- 《C和C++代码精粹》——1.8 标准流
- 补充上次的将父类作为方法的返回类型
- 怎么给国外的客户开Invoice?
- python数字图像处理(四) 频率域滤波
- 熊猫python_Python库-------熊猫
- J2ME开发环境配置(MyEclipse插件+WTK+jdk)
- Unicode 属性类
- halcon视觉框架源码_图像处理与机器视觉初学者学习路线
- 3dmax 渲染关机 脚本_3DMax渲染完自动关机设置
- Linux_zlog日志系统的安装与使用
- 用积分法求椭圆周长matlab,MATLAB计算积分
- 微单相机和单反相机的区别?摄影入门第一课
- C语言实现平衡二叉树
- python编程练习:爬虫爬取全国大江大河实时水情
- 今日头条抖音小程序开发文档
热门文章
- sp | sp格式的空间矢量对象及其函数方法简介
- vba下拉框实现记忆功能_VBA | 这个二级下拉菜单挺有趣!
- 绝对干货!纯用HTML+CSS+JS 编写的计算器应用
- 微信小程序怎么扩展服务器,小程序服务器可扩展的配置方案
- java异常处理封装_Java统一异常处理(配置文件集中化定义)
- 微软关闭音乐服务器,微软关闭Zune音乐服务 Zune播放器变为MP3
- 请求参数 统一 管理 java_Retrofit+Rxjava+okhttp基本操作和统一处理 – R...
- 如何接受上级指令_与上级沟通的技巧
- ddos攻击数据集_ddos攻击和cc攻击有什么区别?他们2个哪个更厉害?
- 服务器运维应该报什么专业,数据中心基础设施运维人员应该掌握哪些专业技能?...