Python深拷贝浅拷贝图文示例清晰整理

作者:linkenzhou 时间:2022-05-05 11:26:40 

python共有两种浅拷贝的方法,一个是python的内置函数copy(),另一个是copy模块中的copy.copy()。

python的六种数据类型(数字、字符串、列表、元组、字典、集合)中,数字、字符串、元组这三个不可变类型是没有copy()这个属性的,但是可以用copy.copy()进行浅复制。

本文以copy模块中的copy()和deepcopy()来说说两者的区别。

Python深拷贝浅拷贝图文示例清晰整理

Python深拷贝浅拷贝图文示例清晰整理

如上图所示,浅拷贝只拷贝了父对象,不会拷贝里面的子对象。如果拷贝的数据改变了父对象中的值,是不会影响源数据中父对象的值。反之如果拷贝的数据改变了子对象的值,是会影响源数据中子对象的值的。

Python深拷贝浅拷贝图文示例清晰整理

如上图,相比于浅拷贝,深拷贝是将父对象、子对象一起复制出来,且重新开辟了内存来存储。而且对于复制出来的数据,修改父对象、子对象都不会影响源数据。

两者相比来说,浅拷贝比较省内存,而深拷贝数据更安全,修改的时候不会影响源数据,不会出现莫名其妙的bug。

来源:https://www.cnblogs.com/zy0209/p/15976813.html

标签:Python,深拷贝,浅拷贝
0
投稿

猜你喜欢

  • ASP在线转flv+缩略图

    2007-08-27 16:18:00
  • Python脚本操作Excel实现批量替换功能

    2023-06-15 16:37:57
  • JavaScript 放大镜 移动镜片效果代码

    2023-08-13 08:24:08
  • 新Orcas语言特性-查询句法

    2010-07-16 12:58:00
  • 最简单的tab切换实例代码

    2023-08-22 08:38:59
  • linux下如何备份还原mysql数据库

    2010-08-08 08:59:00
  • 在Python中使用M2Crypto模块实现AES加密的教程

    2022-09-29 17:43:59
  • dl,dt,dd标签 VS 传统table实现数据列表

    2009-08-02 20:45:00
  • Python读取Excel数据实现批量生成PPT

    2021-03-05 23:57:35
  • 网站LOGO设计规范的思考--2.网络LOGO的设计

    2007-10-14 11:02:00
  • Python中根据时间自动创建文件夹的代码实现

    2023-07-06 02:42:01
  • Keras自定义实现带masking的meanpooling层方式

    2021-06-23 03:29:47
  • asp金额大小写转换完全无错版

    2007-09-26 09:38:00
  • SQLSERVER查询所有数据库名,表名,和字段名的语句

    2012-01-29 18:07:44
  • 有关JS中Event对象的几点总结

    2009-03-06 12:36:00
  • SQL点滴24 监测表的变化

    2011-09-30 11:38:41
  • 超轻量级MSXML多功能测试程序

    2009-05-19 12:38:00
  • asp连接access数据库表代码实例

    2008-04-13 06:18:00
  • 浏览器用户体验:Firefox初体验 VS The world

    2008-08-02 11:58:00
  • PyQt5每天必学之单行文本框

    2022-09-12 06:29:35
  • asp之家 网络编程 m.aspxhome.com