浅拷贝和深拷贝 (自己一直搞不懂的)

1.直接赋值(把一个变量直接赋值给另一个变量),他们指向同一个内存的数据(右边的图不知道怎么画,就直接截图过来了.将就看看)

-------------

2.使用copy中的copy方法,浅拷贝(只拷贝了最外层的数据,里面的还是指向原来的(列表嵌套))

----------------------------

整体效果就是 :

3.使用copy模块中的deepcopy()方法,是里里外外都是新拷贝的(随便改变任何值都不会对另一个有影响,自己试试)

图形记忆就是这样

就是这样,还没有结束,刚刚咱们是对列表嵌套列表了,那元组嵌套列表呢?元组不能修改,但是里面的列表可以修改啊

-------------------晚上又看到了总结:

浅拷贝:对可变类型(列表\字典\set)copy 会创建新的空间,但是里层的还是原来的

    对于不可变类型(元组\字符串\数字)copy,都不会创建新的空间

浅拷贝:对可变类型(列表\字典\set)deepcopy 会创建新的空间,且里层的也是新空间.深拷贝强调的就是递归拷贝

切片也是浅拷贝哦 // 就是  list1[:]   和copy.copy(list1)是一样的效果

Python3.5-20190504-自我笔记浅拷贝和深拷贝的更多相关文章

  1. JavaScript学习笔记——浅拷贝、深拷贝

    参考自:http://www.cnblogs.com/yichengbo/archive/2014/07/10/3835882.html 一.数组的深浅拷贝 在使用JavaScript对数组进行操作的 ...

  2. Python3.5-20190526-廖老师-自我笔记-单元测试-参数换-paramunittest

    参数化: import timeimport list1 #想测试list1中的求和函数是否正确fun1import paramunittestimport unittest #先设置参数组@para ...

  3. Python3.5-20190521-廖老师-自我笔记-单元测试

    执行结果

  4. Python3.5-20190519-廖老师-自我笔记-面向对象中slots变量--@property的使用

    python是动态语言,可以随时随地给实例对象添加属性和方法,但是我们想限制属性的名字,可以使用__slots__特殊变量来限制 使用__slots__要注意,__slots__定义的属性仅对当前类实 ...

  5. Python3.5-20190503-廖老师-自我笔记

    列表和元组 list1 = [1,4,6,788,345,757]            tuple1 =      (345,234,567,878)         切记你的变量名不能和  hel ...

  6. Python3.5-20190502-廖老师-自我笔记

    python的语法主要就是严格的缩进.一般缩进都是四个空格.以冒号结尾的(:)就意味着他后面有代码块.(js代码块使用{}抱起来的,我记得c语言也是,但是python就不需要,他只要严格缩进的就可以了 ...

  7. Python3.5-20190519-廖老师-自我笔记-获取对象信息

    总是优先使用isinstance()判断类型,可以将指定类型及其子类“一网打尽”. 如果要获得一个对象的所有属性和方法,可以使用dir()函数,它返回一个包含字符串的list,比如,获得一个str对象 ...

  8. Python3.5-20190518-廖老师-自我笔记-面向对象

    面向对象编程,简称OOP,是一种程序设计思想.OOP把对象作为程序的基本单元,一个对象包含了数据和操作数据的函数. 把老师分为一类,把学生分为一类.具体到某一个学生就是  这类中的一个具体对象,对象的 ...

  9. Python3.5-20190518-廖老师-自我笔记-模块

    在Python中,一个.py文件就称之为一个模块(Module) 可以作为module的文件类型有".py".".pyo".".pyc".& ...

随机推荐

  1. mysql中各种连接的区别

    现在有如下两个表: A表. B表. 一:使用笛卡尔连接 SELECT * FROM a,b 结果: 二:内连接 SELECT * FROM a INNER JOIN b on a.a_id=b.par ...

  2. 牛客多校第一场 Random Point in Triangle

    https://ac.nowcoder.com/acm/contest/881/F 打表代码: #include<bits/stdc++.h> using namespace std; ] ...

  3. C++ Standard Template Library (STL) 高级容器

    更多 STL 数据结构请阅读 NOIp 数据结构专题总结(STL structure 章节) std::map Definition: template < class Key, // map: ...

  4. P2672推销员

    传送 很抱歉之前用错误的思路写了一篇题解ρωρ 先说一下之前的思路. 对于每个住户,求出它的s[i]*2+a[i],寻找最大的住户m,然后按照a排序,如果m在前x大的住户里面,就选择前x大的住户,从中 ...

  5. ruby异常处理

    begin # 这段代码抛出的异常将被下面的 rescue 子句捕获 rescue # 这个块将捕获所有类型的异常 retry # 这将把控制移到 begin 的开头 end

  6. linux常用符号命令

    1.符号: 在linux中,&和&&,|和||介绍如下: & 表示任务在后台执行,如要在后台运行redis-server,则有 redis-server & & ...

  7. 表单组件中state依赖props

    参阅避免派生状态的博文: https://zh-hans.reactjs.org/blog/2018/06/07/you-probably-dont-need-derived-state.html

  8. JS动态添加Easyui的HTML时样式丢失

    解决办法: $.parser.parse($("#creatLi").html(<li>xxxxxx</li>)); ------------------- ...

  9. final、以及public、protected、(default)、private权限修饰符总结

    package cn.learn.Final; /* 当final用来修饰类 1.该类不能有任何子类,成员方法均无法覆盖重写,但可以重写父类的方法 当final用来修饰方法 1.该方法不能被覆盖重写 ...

  10. 【五一qbxt】day6 OI中的stl

    from:why 很多很多part…… 1.pair: 相当于把两个变量放在一起: #include<utility> using namespace std; pair<TypeN ...