python中对于对象的拷贝分为浅拷贝(copy)和深拷贝(deepcopy)两种方式。

其中浅拷贝由“=”完成。而深拷贝由copy模块中deepcopy()函数担任。

浅拷贝和深拷贝的区别是:
浅拷贝只是将原对象在内存中引用地址拷贝过来了。让新的对象指向这个地址。
而深拷贝是将这个对象的所有内容遍历拷贝过来了,相当于跟原来没关系了,所以如果你这时候修改原来对象的值跟他没关系了,不会随之更改。

我觉得深拷贝和浅拷贝的区别在于:
对于浅拷贝来说,如果有一方的内容发生了变化,另一方有可能也会发生变化
而深拷贝,无论哪一方发生什么样的变化,另一方都不会发生改变。

小例子:

深拷贝的一个例子(我们通过深拷贝创建了两个生成器“genA2B_ema”以及“genB2A_ema”):

        self.genA2B = ResnetGenerator(input_nc=3, output_nc=3, ngf=self.args.ch, n_blocks=self.args.n_res, img_size=self.args.img_size, args=self.args).to(self.args.device)self.genB2A = ResnetGenerator(input_nc=3, output_nc=3, ngf=self.args.ch, n_blocks=self.args.n_res, img_size=self.args.img_size, args=self.args).to(self.args.device)self.genA2B_ema = copy.deepcopy(self.genA2B).eval().requires_grad_(False)self.genB2A_ema = copy.deepcopy(self.genB2A).eval().requires_grad_(False)

具体的用法看以下链接:

Python中copy,deepcopy,=之深拷贝浅拷贝使用详解_涤生手记大数据-CSDN博客_python中deepcopy的用法

Python---copy()、deepcopy()与赋值的区别_飘过的春风-CSDN博客_copy.deepcopy

浅拷贝copy(“=”)和深拷贝(“copy.deepcopy()”)相关推荐

  1. Python 玩转数据 5 - 图解 Python 赋值,浅拷贝 copy.copy() 和 深拷贝 copy.deepcopy() 原理

    引言 上面文章有介绍 Python 动态类型 共享引用等相关知识,有这个基础,我们来深入研究一下 Python 赋值,拷贝的原理,有涉及到可变类型和不可变类型的不同处理.更多 Pyton 进阶系列文章 ...

  2. .NET深入学习笔记(4):深拷贝与浅拷贝(Deep Copy and Shallow Copy)

    今天继续利用准备WSE安全开发文章的空闲时间,完善<.NET深入学习笔记>系列(基本都是.Net重要的知识点,我都做了详细的总结,是什么.为什么.和怎么实现).想必很多人也接触过这两个概念 ...

  3. python中的浅拷贝与深拷贝——copy()

    1.copy()方法用来拷贝列表元素 1 a = [1, 2, 3] 2 # 拷贝 3 b = a.copy() 4 print('a = ', a, '\n', 'b = ', b) 5 6 # 执 ...

  4. 【Python 必会技巧】copy 模块中 copy() 与 deepcopy() 函数的区别

    Python 中赋值语句不复制对象,而是在目标和对象之间创建绑定关系.对于自身可变或者包含可变项的集合对象,开发者有时会需要生成其副本用于改变操作,进而避免改变原对象.copy 模块提供了通用的浅层复 ...

  5. python deepcopy报错_AttributeError: module 'copy' has no attribute 'deepcopy'

    在windows中安装了python3.5,然后安装了splinter和firefox浏览器. 在python的命令行中执行下边2条语句能成功打开火狐浏览器: >>> from sp ...

  6. python中的shallow copy 和 deep copy

    Python中的对象之间赋值时是按引用传递的,如果需要拷贝对象,需要使用标准库中的copy模块. 1.copy.copy 浅拷贝 只拷贝父对象 2.copy.deepcopy 深拷贝 拷贝父对象及其子 ...

  7. 关于python深copy与浅copy的一点理解

    一直对python深copy和浅copy似懂非懂的状态,看了这篇文章,觉得自己懂了很多,给各位参考! 出处:https://www.cnblogs.com/fandx/p/10462913.html ...

  8. 【ObjectC—浅copy和深copy】

    一.OC设计copy的目的 为了能够从源对象copy一个新的对象副本,改变新对象(副本)的时候,不会影响到原来的对象. 二.实现copy协议 OC提供了两种copy方法:copy和mutableCop ...

  9. Python:序列的copy() 方法和 copy 模块

    一.序列中的 copy() 方法 此方法为浅度复制:复制的数会随着被复制数的嵌套序列的元素的改变而改变: 功能:将一个列表复制给另一个列表 格式:list_1 = list_2.copy(),(字典. ...

  10. python 深copy_python中的深copy和浅copy

    bytes Python bytes/str bytes 在Python3中作为一种单独的数据类型,不能拼接,不能拼接,不能拼接 >>> '€20'.encode('utf-8') ...

最新文章

  1. max分发-(网络系统克隆)
  2. 支付系统信息流和资金流
  3. SAP云平台部署HTML5应用时的错误消息Failed to report quota consumption
  4. sql2012一段时间无法连接报53错误
  5. C语言——输出*菱形
  6. 明晚直播丨一次特殊的 Oralce 硬解析性能问题的技术分享
  7. C#解析HL7协议数据2.X
  8. java Ofd 转图片_OFD文件怎么转换成图片
  9. 国际信息安全管理标准体系--BS7799
  10. kube-scheduler源码分析(三)之 scheduleOne
  11. 维刻柠檬鲜果冰怎么样?
  12. 为什么学校计算机没有声音,电脑为什么没声音,教您电脑为什么没声音
  13. HTML前端连接go语言后段,一次完整的浏览器请求响应过程-Go语言中文社区
  14. Python中的打包与解包
  15. python中五个一行输出_python 如何将一系列数字十个一行输出
  16. 微信投票1人1票php制作,微信投票怎么刷票,微信人工投票1毛一票
  17. 福建2013年度翻译专业资格考试工作通知
  18. 项目四总结:MySQL数据表的检索
  19. 2019张小龙微信公开课精华整理(未完待续....)
  20. 系统试运行报告是谁写的_煤矿安全监控系统升级改造验收方案

热门文章

  1. 验证性分析---相关
  2. Qt实现侧边栏显示隐藏以及自定义提示框
  3. 5V降压3.3V电路设计PW2058
  4. 奥钻机器人_供应TB190-16机器人行走伺服行星齿轮减速机
  5. 小程序没有unionid如何与App打通用户体系
  6. 不要将创业,当成你逃避现实,不努力的借口!
  7. 【vue下载】vue 点击下载图片直接打开问题解决
  8. 反斜杠加3个数字是什么编码?JAVA转义序列、转义字符汇总。
  9. html表格怎么纵向合并单元格,在html中表格如何合并单元格
  10. VP8 的败笔 VS H264