Python浅拷贝与深拷贝用法实例

 更新时间:2015年05月09日 11:59:09   作者:守株待兔  
这篇文章主要介绍了Python浅拷贝与深拷贝用法,实例分析了Python浅拷贝与深拷贝的功能与使用方法,需要的朋友可以参考下

本文实例讲述了Python浅拷贝与深拷贝用法。分享给大家供大家参考。具体分析如下:

>>> person=['name',['savings',100]]
>>> hubby=person[:]
>>> wifey=list(person)
>>> [id(x) for x in person,hubby,wifey]
[3074051788L, 3074061740L, 3074061996L]
>>> [id(y) for x in person,hubby,wifey for y in x]
[3074319552L,3073979916L,3074319552L,3073979916L,3074319552L,3073979916L]
>>> hubby[0]='joe'
>>> wifey[0]='jane'
(['joe',['savings',100]],['jane',['savings',100]],['name',['savings',100]])
>>> hubby[1][1]=70
>>> hubby,wifey,person
(['joe',['savings',70]],['jane',['savings',70]],['name',['savings',70]])

浅拷贝,创造了新的对象,但是它的对象引用确和被拷贝对象一致。

如果被拷贝对象的构成元素是不可变类型,则拷贝对象对这个元素的改变,实际上是创造一个新的对象。

如果被拷贝对象的构成元素是可变类型,则拷贝对象对这个元素的改变,实际上是在原对象的内存空间上修改这个内存空间里面的内容。

这样,才有hubby[1][1]=70会导致wifey,person相应值的改变。

希望本文所述对大家的Python程序设计有所帮助。

相关文章

  • Pytorch环境搭建与基本语法

    Pytorch环境搭建与基本语法

    这篇文章主要介绍了Pytorch环境搭建与基本语法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-06-06
  • 基于Python+OpenCV制作屏幕录制工具

    基于Python+OpenCV制作屏幕录制工具

    这篇文章主要介绍了如何利用Python OpenCV实现屏幕录制工具的制作,文中的示例代码讲解详细,对我们的学习和工作有一定的价值,感兴趣的可以学习一下
    2022-01-01
  • Python生命游戏实现原理及过程解析(附源代码)

    Python生命游戏实现原理及过程解析(附源代码)

    这篇文章主要介绍了Python生命游戏实现原理及过程解析(附源代码),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-08-08
  • python 实现二叉搜索树的四种方法

    python 实现二叉搜索树的四种方法

    本文主要介绍了python 实现二叉搜索树的四种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-04-04
  • python中的try except与R语言中的tryCatch异常解决

    python中的try except与R语言中的tryCatch异常解决

    这篇文章主要为大家介绍了python中的try except与R语言中的tryCatch异常解决的方式及分析,有需要的朋友可以借鉴参考下,希望能够有所帮助
    2021-11-11
  • python使用datetime.utcnow()问题解析

    python使用datetime.utcnow()问题解析

    这篇文章主要介绍了python使用datetime.utcnow()问题解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-07-07
  • Python3开发监控自动化触发声光报警

    Python3开发监控自动化触发声光报警

    使用python制作一个自动监控并触发声光报警是不是感觉很高端,很多人都会认为只是一件很难的事情,但实际很简单就能实现。
    2023-07-07
  • python 解决Fatal error in launcher:错误问题

    python 解决Fatal error in launcher:错误问题

    这篇文章主要介绍了python 解决Fatal error in launcher:错误问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-05-05
  • python中sklearn的pipeline模块实例详解

    python中sklearn的pipeline模块实例详解

    这篇文章主要介绍了python中sklearn的pipeline模块的相关知识,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-05-05
  • 利用Python将Excel快速转换成HTML的代码实现

    利用Python将Excel快速转换成HTML的代码实现

    在日常的办公和数据处理任务中,Excel文件因其强大的表格数据管理能力而备受欢迎,然而,在某些情况下,我们可能需要将Excel文件转换成HTML格式,以便在网页上展示或进行进一步的数据处理,本文将介绍如何利用Python将Excel文件快速转换成HTML,并提供具体的代码示例和案例
    2024-12-12

最新评论