加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

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

发布时间:2020-12-16 21:03:06 所属栏目: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

本篇章节讲解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,wifey for y in x]
[3074319552L,3073979916L,3074319552L,3073979916L]
>>> hubby[0]='joe'
>>> wifey[0]='jane'
(['joe',100]],['jane',['name',100]])
>>> hubby[1][1]=70
>>> hubby,wifey,person
(['joe',70]],70]])

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

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

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

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

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

您可能感兴趣的文章:

  • Python中字典的浅拷贝与深拷贝用法实例分析
  • Python基础教程之浅拷贝和深拷贝实例详解
  • 浅谈Python浅拷贝、深拷贝及引用机制
  • Python中的复制操作及copy模块中的浅拷贝与深拷贝方法
  • 深入理解python中的浅拷贝和深拷贝
  • Python中的深拷贝和浅拷贝详解
  • Python中的赋值、浅拷贝、深拷贝介绍
  • Python对象的深拷贝和浅拷贝详解
  • Python 拷贝对象(深拷贝deepcopy与浅拷贝copy)
  • 详解Python核心编程中的浅拷贝与深拷贝

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读