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

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. vim安装bundle和使用

    一.准备工作 安装Git(因为下面我们选择的插件管理器需要使用到它)安装其他插件前首先需要选择一个Vim插件管理器,我这里选择的是Vundle,Vundle的工作过程中需要通过Git自动从远程创库同步 ...

  2. win7每天出现taskeng.exe进程的解决方案

    安装mysql数据库后电脑经常会出现taskeng.exe进程,这不是木马.病毒,是微软提供的任务计划程序引擎. 禁不禁止都差不多.下面说一下怎么禁止. -->打开控制面板 -->打开管理 ...

  3. sql-hive笔试题整理 1 (学生表-成绩表-课程表-教师表)

    题记:一直在写各种sql查询语句,最长的有一百多行,自信什么需求都可以接,可......,想了想,可能一直在固定的场景下写,平时也是以满足实际需求为目的,竟不知道应试的题都是怎么出的,又应该怎么做.遂 ...

  4. vue子组件获取父组件的数据

  5. CSU 1556 Jerry's trouble

    题目链接:http://acm.csu.edu.cn/csuoj/problemset/problem?pid=1556 Description Jerry is caught by Tom. He ...

  6. IntelliJ IDEA中创建xml文件

      1.file—setting,左上角输入template, 2.在左侧栏找到File And Code Templates 3.中间选中Files 4.点击+号,添加模板 5.输入模板名字:Nam ...

  7. spring4.1.8扩展实战之七:控制bean(BeanPostProcessor接口)

    本章是<spring4.1.8扩展实战>的第七篇,我们来尝试在容器初始化的时候对bean实例做设置: 原文地址:https://blog.csdn.net/boling_cavalry/a ...

  8. SSH 的原理和实践

    最近自己在学习使用SSH,现将自己理解的SSH原理和实践SSH的操作写成一篇博客,以供日后查看. 一.SSH是什么?为什么会出现SSH? SSH英文全称是Secure Shell,即安全外壳.首先SS ...

  9. c#访问webapi以及获取

    提交post #region XML方式提交        public static void XML() {            HttpWebRequest wReq = (HttpWebRe ...

  10. python self和cls的区别

    1.self表示一个具体的实例本身.如果用了staticmethod,那么就可以无视这个self,将这个方法当成一个普通的函数使用. 2.cls表示这个类本身.