python中的深拷贝与浅拷贝

copy.copy 浅拷贝 只拷贝父对象,不会拷贝对象的内部的子对象。

copy.deepcopy 深拷贝 拷贝对象及其子对象

示例:

>>> import copy

>>> a=[1,2,3,4,[‘a’,’b’]]

立即学习“Python免费学习笔记(深入)”;

>>> b=a                     # 传引用。相当于现在b与a指向了同一块内存区域

                            那样的话a的任何修改b将同步

>>> c=copy.copy(a)          # 浅拷贝。相当于c与a现在是两个单独的内存区域

>>> d=copy.deepcopy(a)      # 深拷贝。相当于是完全独立的内存区域

>>> a.append(5)             # 这个是在外层对象即父对象处理会影响到copy浅拷贝

>>> a[4].append(‘c’)        # 这个是内部子对象不会影响.即还是指向一块

>>> print ‘a’,a

a [1, 2, 3, 4, [‘a’, ‘b’, ‘c’], 5]

>>> print ‘b’,b

b [1, 2, 3, 4, [‘a’, ‘b’, ‘c’], 5]

>>> print ‘c’,c

c [1, 2, 3, 4, [‘a’, ‘b’, ‘c’]]

>>> print ‘d’,d

d [1, 2, 3, 4, [‘a’, ‘b’]]

>>> 

如果受到拷贝的话,那就是相互独立的了。

像copy.copy的话其实是做了浅拷贝的因为是父对象所以:父对象不受影响了是单独的两块区域 。

 

结论:哪个拷贝了哪个就是单独的内存区域。与原始的内存是分开的。你再怎么修改也影响不到我

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2282398.html

(0)
上一篇 2025年2月27日 19:24:29
下一篇 2025年2月18日 07:21:05

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • python面向对象

    类中成员  1.字段     1.静态字段  通过类本身访问 静态字段在类代码加载时候就已经创建,无需等到new 类名()     2.普通字段  通过对象访问  2.方法 立即学习“Python免费学习笔记(深入)”;     所有的方法…

    编程技术 2025年2月27日
    200
  • Python写各大聊天系统的屏蔽脏话功能原理

    Python写各大聊天系统的屏蔽脏话功能原理 突然想到一个视频里面弹幕被和谐的一满屏的*号觉得很有趣,然后就想用python来试试写写看,结果还真玩出了点效果,思路是首先你得有一个脏话存放的仓库好到时候检测,那么个人还是喜欢用列表,因为列表…

    2025年2月27日 编程技术
    200
  • Python装饰器详解

     python中的装饰器是一个用得非常多的东西,我们可以把一些特定的方法、通用的方法写成一个个装饰器,这就为调用这些方法提供一个非常大的便利,如此提高我们代码的可读性以及简洁性,以及可扩展性。 在学习python装饰器之前我们先看看这样一个…

    编程技术 2025年2月27日
    200
  • 如何系统地自学一门Python 语言

    零基础情况下,学一门语言充实下自己,python,简洁、优美、容易使用,是一个很好的选择。那么如何系统地自学python呢? 有的人非常想学好Python,一方面被琐事纠缠,一直没能动手,另一方面,担心学习成本太高,心里默默敲着退堂鼓?  …

    2025年2月27日
    200
  • python中round(x,[n])的使用

    round(x,[n]) 四舍五入 n保留小数部分个数 1、当不填写n时,默认为0,即不保留小数部分  a、当小数部分只为0.5时 整数部分如果为奇数则进1,如果为偶数则舍去小数部分  print(round(1.5))#2 小数部分为0.…

    编程技术 2025年2月27日
    200
  • python爬虫beta版之抓取知乎单页面

    鉴于之前用python写爬虫,帮运营人员抓取过京东的商品品牌以及分类,这次也是用python来搞简单的抓取单页面版,后期再补充哈。 #-*- coding: UTF-8 -*- import requestsimport sysfrom b…

    2025年2月27日
    200
  • python 数据类型 —字符串

    字符串去除空白 ,strip() , 包括空格,tab键, 换行符 >>> name = ”  Frank  “>>> name.strip()’Frank’ 登录后复制 字符串的分割, split(&#…

    编程技术 2025年2月27日
    200
  • python快速生成注释文档的方法

    python快速生成注释文档的方法  今天将告诉大家一个简单平时只要注意的小细节,就可以轻松生成注释文档,也可以检查我们写的类方法引用名称是否重复有问题等。一看别人专业的大牛们写的文档多牛多羡慕,不用担心我们可以让python为我们生成基本…

    2025年2月27日 编程技术
    200
  • python操作SQL

    pymsql是python中操作mysql的模块,其使用方法和mysqldb几乎相同 一、下载安装 pip3 install pymysql 二、操作使用 1、执行SQL 立即学习“Python免费学习笔记(深入)”; #!/usr/bin…

    2025年2月27日
    200
  • 通过reidis管理定时任务

    主要应用场景为:有变动需求的一次性定时任务。 通过redis过期事件的监听,执行相应命令。(注意:因为监听只能得到key, 所以需要另外存储具体执行内容体) 另外记得修改redis配置:notify-keyspace-events ex  …

    编程技术 2025年2月27日
    200

发表回复

登录后才能评论