图解Python中的浅拷贝和深拷贝

 更新时间:2023年11月29日 09:39:16   作者:时代&信念  
这篇文章主要介绍了图解Python中的浅拷贝和深拷贝,深拷贝,拷贝的程度深,自己新开辟了一块内存,将被拷贝内容全部拷贝过来了,浅拷贝,拷贝的程度浅,只拷贝原数据的首地址,然后通过原数据的首地址,去获取内容,需要的朋友可以参考下

Python浅拷贝和深拷贝

最直观的理解就是:

1.深拷贝,拷贝的程度深,自己新开辟了一块内存,将被拷贝内容全部拷贝过来了;

2.浅拷贝,拷贝的程度浅,只拷贝原数据的首地址,然后通过原数据的首地址,去获取内容。

两者的优缺点对比

(1)深拷贝拷贝程度高,将原数据复制到新的内存空间中。改变拷贝后的内容不影响原数据内容。但是深拷贝耗时长,且占用内存空间。

(2)浅拷贝拷贝程度低,只复制原数据的地址。其实是将副本的地址指向原数据地址。修改副本内容,是通过当前地址指向原数据地址,去修改。所以修改副本内容会影响到原数据内容。但是浅拷贝耗时短,占用内存空间少。

浅拷贝

有一层数据类型,且数据类型时可变数据类型,例如:列表、字典

在这里插入图片描述

有一层数据类型,且数据类型时不可变数据类型,例如:元组、字符串

在这里插入图片描述

有两层数据类型,外层为可变数据类型,内层为可变数据类型

在这里插入图片描述

有两层数据类型,外层为可变数据类型,内层为不可变数据类型

在这里插入图片描述

有两层数据类型,外层为不可变数据类型,内层为不可变数据类型

在这里插入图片描述

有两层数据类型,外层为不可变数据类型,内层为可变数据类型

在这里插入图片描述

深拷贝

有一层数据类型,且数据类型时可变数据类型,例如:列表、字典

在这里插入图片描述

有一层数据类型,且数据类型时不可变数据类型,例如:元组、字符串

在这里插入图片描述

有两层数据类型,外层为可变数据类型,内层为可变数据类型

在这里插入图片描述

有两层数据类型,外层为可变数据类型,内层为不可变数据类型

在这里插入图片描述

有两层数据类型,外层为不可变数据类型,内层为不可变数据类型

在这里插入图片描述

有两层数据类型,外层为不可变数据类型,内层为可变数据类型

在这里插入图片描述

由实验结果总结得:

当内层为可变数据类型时,深拷贝后内层外层地址均发生改变。当内层为不可变数据类型时,外层不管是可变还是不可变数据类型,使用深拷贝,都不会改变内层地址,只会在外层为可变数据类型时,改变外层地址。

使用浅拷贝是只能在外层数据类型为可变数据类型时,才能改变外层地址。而内层地址,无论是否为可变数据类型还是不可变数据类型,使用浅拷贝都不会改变内层数据类型地址。

到此这篇关于图解Python中的浅拷贝和深拷贝的文章就介绍到这了,更多相关Python浅拷贝和深拷贝内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python利用socket实现多进程的端口扫描器

    Python利用socket实现多进程的端口扫描器

    作为开发人员经常需要查看服务的端口开启状态判断服务是否宕机。特别是部署的服务比较多的情况下,可能存在几个甚至几十个服务端口的占用。所以本文将利用socket实现多进程的端口扫描器,需要的可以参考一下
    2022-12-12
  • python 生成任意形状的凸包图代码

    python 生成任意形状的凸包图代码

    这篇文章主要介绍了python 生成任意形状的凸包图代码,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-04-04
  • Python进阶学习之特殊方法实例详析

    Python进阶学习之特殊方法实例详析

    一般说来,特殊的方法都被用来模仿某个行为。下面这篇文章主要给大家介绍了关于Python进阶学习之特殊方法的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面随着小编来一起看看吧。
    2017-12-12
  • python实现根据用户输入从电影网站获取影片信息的方法

    python实现根据用户输入从电影网站获取影片信息的方法

    这篇文章主要介绍了python实现根据用户输入从电影网站获取影片信息的方法,涉及Python正则表达式抓取网页的技巧,非常具有实用价值,需要的朋友可以参考下
    2015-04-04
  • Python实现上下班抢个顺风单脚本

    Python实现上下班抢个顺风单脚本

    这篇文章主要为大家详细介绍了Python实现上下班抢个顺风单脚本,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-02-02
  • Python读写JSON文件的操作详解

    Python读写JSON文件的操作详解

    JSON数据类型最常用的应用场景就是API或将数据保存到 .json稳当数据中。使用Python处理这些数据会变得非常简单,本文将详细讲解Python如何读写JSON文件的,需要的可以参考一下
    2022-04-04
  • Python数据分析的八种处理缺失值方法详解

    Python数据分析的八种处理缺失值方法详解

    缺失值可能是数据科学中最不受欢迎的值,然而,它们总是在身边。忽略缺失值也是不合理的,因此我们需要找到有效且适当地处理它们的方法
    2021-11-11
  • pycharm中成功运行图片的配置教程

    pycharm中成功运行图片的配置教程

    今天小编就为大家分享一篇pycharm中成功运行图片的配置教程,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-10-10
  • TENSORFLOW变量作用域(VARIABLE SCOPE)

    TENSORFLOW变量作用域(VARIABLE SCOPE)

    这篇文章主要介绍了TENSORFLOW变量作用域(VARIABLE SCOPE),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-01-01
  • python多线程调用exit无法退出的解决方法

    python多线程调用exit无法退出的解决方法

    今天小编就为大家分享一篇python多线程调用exit无法退出的解决方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-02-02

最新评论