python中浅拷贝和深拷贝的区别如下:

1. copy.copy 浅拷贝 只拷贝父对象,不会拷贝对象的内部的子对象。

2. copy.deepcopy 深拷贝 拷贝对象及其子对象

如果拷贝对象是一个一维列表,那么浅拷贝和深拷贝没什么不同,都是重新申请一个新的内存地址。

import copy

list1 = [1,2,3,4]

print(id(list1))

list2 = list1.copy()

print(list2)

print(id(list2))

print(list1 is list2)

list3 = copy.deepcopy(list1)

print(list3)

print(id(list3))

print(list1 is list3)

96011592

[1, 2, 3, 4]

95979528

False

[1, 2, 3, 4]

31271112

False

因此,list1的改变不会影响到list2与list3。但是对于复杂一些的列表,例如嵌套列表、字典嵌套列表。浅拷贝与深拷贝两者便展示出完全不同的结果。

import copy

list1 = [1,2,3,4,[5,6]]

print('list1的id:',id(list1))

print('list1第4个元素的id:',id(list1[4]))

#浅拷贝

list2 = list1.copy()

print(list2)

print('list2的id:',id(list2))

print('list2第4个元素的id:',id(list2[4]))

#深拷贝

list3 = copy.deepcopy(list1)

print(list3)

print('list3的id:',id(list3))

print('list3第4个元素的id:',id(list3[4]))

#改变list1中的元素

list1[2] = 7

list1[4][1] = 8

print('list1:',list1)

print('list2:',list2)

print('list3:',list3)

#运行结果

list1的id: 95979528

list1第4个元素的id: 96011592

[1, 2, 3, 4, [5, 6]]

list2的id: 40773832

list2第4个元素的id: 96011592 #子对象的id值一样,表示浅拷贝没有拷贝对象,只是使用了列表的引用

[1, 2, 3, 4, [5, 6]]

list3的id: 96023432

list3第4个元素的id: 40773704

list1: [1, 2, 7, 4, [5, 8]]

list2: [1, 2, 3, 4, [5, 8]] #父对象不变,子对象变

list3: [1, 2, 3, 4, [5, 6]] #父子对象都不改变

有用教育(上海荣隆教育科技有限公司) 详情加微信13472725250咨询

是一家专业培养资深IT工程师并让学员高薪就业、专注于Linux运维、人工智能的培训机构,公司总部设立在上海,为IT人员提供到岗即用式的实战培训。

有用IT教育培训致力于为国内、国际大中型互联网企业培养市场紧缺的系统工程师、高级架构师、人工智能工程师等高级技术人才、为学员提供定制化IT职业规划方案与咨询服务的培训机构。坚持秉承“为IT人员提供到岗即用式的实战培训”的理念,有用教育以其专业主义精神投入到IT职业教育的领域前沿,不断为学员提供实用有效、创新卓越的知识技能,让学员在实战中进行学习探索、在实战中获得核心竞争力、在实战中实现职业与人生理想。

我们是一支快速成长的高素质创业团队,团队成员均毕业于北京大学、复旦大学、交通大学、日本早稻田大学、MIT、英国帝国理工等全国重点高校。讲师队伍均有大型全球500强企业多年工作经验,理论与实战经验丰富。无论是零基础入门课程,还是高级进阶课程,都能够带给学员定制化的学习体验。有用教育目前提供的课程包括linux系统运维课程,以及就业辅导课程。未来我们将提供更为广泛的IT培训,以及更为高效的就业对接。

“公司在IT培训方面教学质量优秀、教学理念先进、教学方法独特,十分注重理论+实战相结合,全部为名师手把手的带领“课堂即实战式”教学。其中入学测评、直播答疑、布置作业、阶段考试、毕业考试、1v1批改深入广大学员的内心。

公司以“为IT人员提供到岗即用式的实战培训”为使命,坚持“实战培训,到岗即用”,系统传授与时俱进的IT实战技能,提升IT从业人员职业竞争力,为企业输送到岗即用型IT人才。

python深拷贝_python 深拷贝与浅拷贝的区别相关推荐

  1. python默认深拷贝_python深拷贝和浅拷贝的区别

    在python中,对象赋值实际上是对象的引用.当创建一个对象,然后把它赋给另一个变量的时候,python并没有拷贝这个对象,而只是拷贝了这个对象的引用 一般有三种方法, alist=[1,2,3,[& ...

  2. python 深拷贝_Python之类的浅拷贝与深拷贝

    大家都知道Python是一个动态语言,那么它在语法上,与诸如C++之类的静态语言肯定是有所区别的.对于C++的浅拷贝与深拷贝笔者已经很熟悉了,然后一直以为Python也理应如此,结果发现还是存在一定区 ...

  3. python默认深拷贝_Python 深拷贝与浅拷贝

    首先分享Python里面的数据类型 1.不可变类型:Number(数字).String(字符串).Tuple(元组). 不可变数据类型在第一次声明赋值的时候, 会在内存中开辟一块空间, 用来存放这个变 ...

  4. python 深拷贝_python 深拷贝

    深拷贝是将对象全拷贝,包括嵌套对象 def deepcopy(cls): if isinstance(cls, dict): dct = {} for k, v in cls.items(): dct ...

  5. python重写_python 重载和重写的区别

    蛊毒传说 重载和重写,这是两个新概念,是两个令我们容易混淆的概念.方法重载(overloading method)是在一个类里面,方法名字相同,而参数不同.返回类型呢?可以相同也可以不同.方法重写(o ...

  6. python赋值浅拷贝和深拷贝的区别_python赋值、浅拷贝、深拷贝区别

    在写Python过程中,经常会遇到对象的拷贝,如果不理解浅拷贝和深拷贝的概念,你的代码就可能出现一些问题.所以,在这里按个人的理解谈谈它们之间的区别. 一.赋值(assignment) 在<Py ...

  7. python中深拷贝与浅拷贝的区别

    ####################python中的数据类型####################### ##########python中的数据类型有6种,分别为:数字类型如int,float ...

  8. Python基础:对象的深拷贝和浅拷贝的区别

    Python基础:对象的深拷贝和浅拷贝的区别 1 变量与对象 2 不可变对象与可变对象 3 直接赋值 4 浅拷贝 5 深拷贝 参考文献 1 变量与对象 对象:内存中存储数据的实体,有明确的类型.在Py ...

  9. python 深拷贝_详解python的复制,深拷贝和浅拷贝的区别

    概述 今天主要来看看Python中的浅拷贝和深拷贝内容,这里用一个实例来说明~ 需求: 将一个列表的数据复制到另一个列表中. 思路: 使用列表[:],拿不准可以调用copy模块. 实现方法: #!/u ...

最新文章

  1. c++ 判断文件夹是否存在,不存在则创建(可建多级目录)
  2. manage.py命令
  3. c语言swatch的用法返回,Linux swatch系统监控程序命令详解
  4. Android中设置组件多进程
  5. 3D模型在网页上显示
  6. pdf.js 在线阅读PDF
  7. b/s模式下的即时通讯,使用ajax框架dwr实现
  8. firefly如何安装mysql_CentOS7 安装Firefly及测试
  9. 11、MySQL常见错误代码一览表
  10. 利用Linux命令行进行文本按行去重并按重复次数排序yes
  11. java中对date的一些处理以及获取date
  12. python实现链表的删除_干货||链表的技巧和算法总结
  13. SQL Server中的计算列概述
  14. ffdshow 源代码分析 6: 对解码器的dll的封装(libavcodec)
  15. ThrealLocal原理讲解
  16. 计算机技术及应用攻略,组策略应用全攻略
  17. 第五篇:关于MVPArms打包混淆及报错解决
  18. 《C语言小游戏之贪吃蛇程序代码》
  19. 北大中文核心期刊目录(2004年版)工业技术类
  20. NodeJS实现HTTP/HTTPS代理 - 刘春龙的博客

热门文章

  1. 学生渐进片add如何给_【收藏】为青少年验配渐进多焦点时,如何选择合适ADD?...
  2. java byte缓存_java-如何使用带byte []键的番石榴缓存?
  3. vmware给linux增加空间,vmware增加linux硬盘空间
  4. html做预约人数显示,添加预约用户.html
  5. Linux中errno的含义
  6. vue子组件向父组件传递数据
  7. 查找数组连成环形的和最大的连续子数组
  8. salesforce 零基础学习(五十一)使用 Salesforce.com SOAP API 实现用户登录以及简单的增删改查(JAVA访问salesforce)...
  9. ICCV 2021 第二届无人车视觉(AVVision)研讨会征稿
  10. 当深度学习遇上图: 图神经网络的兴起!