当前位置:主页 > python教程 >

python深浅拷贝区别

发布:2022-09-14 08:57:20 98


本站收集了一篇python相关的编程文章,网友汲苏娟根据主题投稿了本篇教程内容,涉及到python、深浅拷贝相关内容,已被675网友关注,相关难点技巧可以阅读下方的电子资料。

在Python中对象的赋值其实就是对象的引用。当创建一个对象,把它赋值给另一个变量的时候,python并没有拷贝这个对象,只是拷贝了这个对象的引用而已。

python深浅拷贝区别

浅拷贝:拷贝了最外围的对象本身,内部的元素都只是拷贝了一个引用而已。也就是,把对象复制一遍,但是该对象中引用的其他对象我不复制

深拷贝:外围和内部元素都进行了拷贝对象本身,而不是引用。也就是,把对象复制一遍,并且该对象中引用的其他对象我也复制。

深浅拷贝的作用

1,减少内存的使用
2,以后在做数据的清洗、修改或者入库的时候,对原数据进行复制一份,以防数据修改之后,找不到原数据。

相关推荐:《Python视频教程》

浅拷贝(copy):拷贝父对象,不会拷贝对象的内部的子对象。

深拷贝(deepcopy): copy 模块的 deepcopy 方法,完全拷贝了父对象及其子对象。

>>>a = {1: [1,2,3]}
>>> b = a.copy()
>>> a, b({1: [1, 2, 3]}, {1: [1, 2, 3]})
>>> a[1].append(4)
>>> a, b({1: [1, 2, 3, 4]}, {1: [1, 2, 3, 4]})

深度拷贝需要引入 copy 模块:

>>>import copy
>>> c = copy.deepcopy(a)
>>> a, c({1: [1, 2, 3, 4]}, {1: [1, 2, 3, 4]})
>>> a[1].append(5)
>>> a, c({1: [1, 2, 3, 4, 5]}, {1: [1, 2, 3, 4]})

1、b = a.copy(): 浅拷贝, a 和 b 是一个独立的对象,但他们的子对象还是指向统一对象(是引用)。

python深浅拷贝区别

2、b = copy.deepcopy(a): 深度拷贝, a 和 b 完全拷贝了父对象及其子对象,两者是完全独立的。

python深浅拷贝区别

以上就是python深浅拷贝区别的详细内容,更多请关注码农之家其它相关文章!


相关文章

  • Python字符串模板知识点总结

    发布:2019-09-07

    Python是一种解释性的,面向对象的高级编程语言。它易于学习,因为它的语法强调可读性,这减少了程序维护的费用。许多程序员喜欢使用Python,因为没有编译步骤测试和调试很快就会完成。构


  • Python wxPython库Core组件BoxSizer用法总结

    发布:2019-06-06

    这篇文章主要介绍了Python wxPython库Core组件BoxSizer用法,结合实例形式分析了wxPython BoxSizer布局管理相关使用方法及操作注意事项,需要的朋友可以参考下


  • python字典添加元素的实例方法

    发布:2019-09-17

    python字典是另一种可变容器模型,且可存储任意类型对象。向python字典添加新内容的方法是增加新的键/值对。


  • python如何对字典进行排序

    发布:2022-04-02

    我们需要把字典转化成list或者tuple,把字典每一对键值转化为list中的两个子list或者子tuple再输出即可;方法一:使用sorted函数;方法二:使用oprator内建模块。


  • Python中根据字符串调用函数的实现方法

    发布:2020-02-29

    字符串作为python中常用的数据类型,掌握字符串的常用方法十分必要。下面这篇文章主要给大家介绍了关于Python中通过字符串调用函数或方法的相关资料,需要的朋友可以参考借鉴,下面来一起


  • Python实现去除图片中指定颜色的像素功能示例

    Python实现去除图片中指定颜色的像素功能示例

    发布:2022-09-07

    为网友们分享了关于Python的教程,这篇文章主要介绍了Python实现去除图片中指定颜色的像素功能,结合具体实例形式分析了Python基于pil与cv2模块的图形载入、运算、转换等相关操作技巧,需要的朋友可以参考下


  • python怎么解压rar文件

    发布:2021-05-06

    Python要解压rar类型压缩文件需要安装rarfile包,在网上下载包然后解压到Python安装文件夹下的scripts文件夹下,在当前目录下打开cmd输入命令安装即可,然后就可以在Python中解压rar文件了。


网友讨论