2 引用 深copy 浅copy
1. is ==
总结
- is 是比较两个引用是否指向了同一个对象(引用比较)。
- == 是比较两个对象是否相等。
In [1]: a = [11,22,33] In [2]: b = [11,22,33] In [3]: a == b
Out[3]: True In [4]: a is b
Out[4]: False In [5]: id(a)
Out[5]: 140715444902984 In [6]: id(b)
Out[6]: 140715444891912
In [7]: a
Out[7]: [11, 22, 33] In [8]: b
Out[8]: [11, 22, 33] In [9]: c = a In [10]: c
Out[10]: [11, 22, 33] In [11]: id(a)
Out[11]: 140715444902984 In [12]: id(b)
Out[12]: 140715444891912 In [13]: id(c)
Out[13]: 140715444902984
### 特殊情况 In [14]: a = 10 In [15]: b = 10 In [16]: a == b
Out[16]: True In [17]: a is b
Out[17]: True In [18]: a = 10000 In [19]: b = 10000 In [20]: a is b
Out[20]: False
2.深copy 浅copy
- 深拷贝是对于一个对象所有层次的拷贝(递归)
- 浅拷贝是对于一个对象的顶层拷贝
通俗的理解是:拷贝了引用,并没有拷贝内容
In [33]: a.append(55) In [34]: a
Out[34]: [11, 22, 33, 55] In [35]: b
Out[35]: [11, 22, 33, 55] In [36]: c
Out[36]: [11, 22, 33]
3.import copy 不同
1)copy.deepcopy() 一直递归,拷到最底层
深copy:其实就是重新开辟不同内存,保存和原来的相同信息!和原来的信息,内存没有关系
2)copy.copy() 浅拷贝对不可变类型和可变类型的copy不同
对于可变类型,只是copy第一层
对于不可变类型元组,不copy
2 引用 深copy 浅copy的更多相关文章
- 深、浅copy
深.浅copy多用于列表 浅copy:第一层中不变的数据是独立的,可变类型元素指向同一块内存地址 l1 = [1,2,3,["a","b"]] l2 = l1. ...
- python学习笔记-(六)深copy&浅copy
在python中,对象赋值实际上是对象的引用.当创建一个对象,然后把它赋给另一个变量的时候,python并没有拷贝这个对象,而只是拷贝了这个对象的引用. 1. 赋值 赋值其实只是传递对象引用,引用对象 ...
- python基础之赋值/深copy/浅copy
首先,不管是赋值还是深浅copy,都是针对那些可能会产生变化的值进行区分的,也就是对于数字,字符串来说,区分赋值,深浅copy是毫无意义的. 那么,让我们来对那些可变的像list set dict t ...
- 【Python初学】深copy&浅copy
在python中,对象赋值实际上是对象的引用.当创建一个对象,然后把它赋给另一个变量的时候,python并没有拷贝这个对象,而只是拷贝了这个对象的引用. 1. copy.copy 浅拷贝 只拷贝父对象 ...
- 浅copy 与 深copy
import copy names = ["zhangyang", 'guyun', 'xiangpeng', ['jack','tom'], 'xuliangchen'] nam ...
- Day 7 深copy和浅Copy
dict.fromkeys的用法 1 2 3 4 5 6 7 8 9 10 11 #dict.fromkeys的用法 #例子1 dic = dict.fromkeys([1,2,3],[]) prin ...
- 深浅COPY浅谈
通俗地谈一下深浅COPY的区别,顺便做个笔记.(纯手打,如有不对之处还望大牛指导改正.) 个人觉得区分这个概念需要从数据类型来切入: 1.如果“被复制对象”(后面简称“原对象”)的数据类型为不可变数据 ...
- retain copy(浅复制) mutablecopy (深复制)
http://blog.csdn.net/xdrt81y/article/details/24331103 口诀: 1浅3深 NSArray copy (浅) 返回NSArray NSArra ...
- (五)聊一聊深Copy与浅Copy
一.关于浅copy与深copy 首先说明一下: 在python中,赋值其实就是对象的引用,变量就是对象的一个标签,如果把内存对象比喻成一个个房间,那么变量就是门牌号. 深copy与浅copy只是针对可 ...
随机推荐
- 单片机课程设计>八音盒
2017—2018学年度第一学期 <单片机原理及应用>作品考试 八音盒 2017-2018-1<单片机原理及应用>作品设计提交文档 一.作品设计目的 1.利用51单片机的各个部 ...
- 如何写Paper
如何写文章,如何写好文章,是每一个科研工作者想弄懂或者已经弄懂了的问题.剑桥大学某研究人员分享了他的写作思路. 我从该视频中学到了以下几点经验: 正确的顺序是:Idea——>Write——> ...
- 4.30-5.1cf补题
//yy:拒绝转载!!! 悄悄告诉你,做题累了,去打两把斗地主就能恢复了喔~~~ //yy:可是我不会斗地主吖("'▽'") ~~~那就听两遍小苹果嘛~~~ 五一假期除了花时间建模 ...
- 表中与当前库的collation不一致的字段
--对于与当前数据库排序规则不一致的字段. select o.name, c.name ,collation_namefrom sys.columns c,sys.objects o where c. ...
- BZOJ5293:[BJOI2018]求和(LCA,差分)
Description master 对树上的求和非常感兴趣.他生成了一棵有根树,并且希望多次询问这棵树上一段路径上所有节点深度的k 次方和,而且每次的k 可能是不同的.此处节点深度的定义是这个节点 ...
- 【转】Android学习系列(39)--Android主题和样式之系统篇(上)
[基于最新的Android4.4的源码分析] 每家公司或者每个移动团队无不想开发出一套自己的UI框架,融入自己的设计和特性,这必然会去修改android的ui.所以,学习和理解android的UI设计 ...
- JSON数据转换之net.sf.json包的使用
转载 解析json之net.sf.json https://blog.csdn.net/itlwc/article/details/38442667 一.介绍 使用之前需要导入的jar包: json- ...
- 使用Storyboard拖线容易出错的地方
使用Storyboard拖线容易出错的地方: 在Storyboard中,选中某个控件,按住ctrl键进行拖线,建立Outlet和Action后,不能手动再去修改自动生成的代码,然后再次进行连线,这样会 ...
- react使用echarts地图实现中国地图大区展示
日常项目中经常会用到百度地图或者echarts图标展示,今天给大家展示的是如何在react开发项目中使用百度echars的地图展示,把中国地图分为东北大区.华东大区.华南大区.华西大区.华中大区以及华 ...
- Oracle树形结构数据-相关知识总结
Oracle树形结构数据--基本知识 1.数据组成 2.基本查询 2.1.查询某节点及该节点下的所有子孙节点 SELECT * FROM QIANCODE.TREE_TABLE_BASI ...