参考

当创建一个对象并给它赋一个变量的时候,这个变量仅仅参考哪个对象,而不是表示这个对象本身!也就是说,变量名指向你计算机中存储那个对象的内存。这被称作名称到对象的绑定

对象与参考的例子

注意两次不同的赋值操作listA的不同

listA = ['a','b','c','d']
listB = listA # 普通赋值操作,只是使得listB参考listA del listA[0] # listB的值始终和listB保持同步,因为数据都在同一个内存地址中
print('listA:',listA)
print('listB:',listB) listA = ['a','b','c','d']
listB = listA[:] # listA现在独立于listB,即二者内存地址不同 print('使用切片来对列表进行赋值')
print('listA:',listA)
print('listB:',listB)

output:

listA: ['b', 'c', 'd']
listB: ['b', 'c', 'd']
使用切片来对列表进行赋值
listA: ['a', 'b', 'c', 'd']
listB: ['a', 'b', 'c', 'd']

如果你想要复制一个列表或者类似的序列或者其他复杂的对象(不是如整数那样的简单 对象 ),那么你必须使用切片操作符来取得拷贝。如果你只是想要使用另一个变量名,两个名称都 参考 同一个对象,那么如果你不小心的话,可能会引来各种麻烦。

给Perl程序员的注释

记住列表的赋值语句创建拷贝。你得使用切片操作符来建立序列的拷贝。

Python中的对象与参考的更多相关文章

  1. python中拷贝对象的区别

    一.赋值.引用 在python中赋值语句总是建立对象的引用值,而不是复制对象.因此,python变量更像是指针,而不是数据存储区域 这点和大多数语音类似吧,比如C++.Java等 1.先看个例子: v ...

  2. python中生成器对象和return 还有循环的区别

    python中生成器对象和return 还有循环的区别 在python中存在这么一个关键字yield,这个关键字在项目中经常被用到,比如我写一个函数不想它只返回一次就结束那我们就不能用return,因 ...

  3. PyObject and PyTypeObject - Python 中的 '对象' 们

    1 PyObject, PyTypeObject - Python 中的 '对象' 们 '一切皆对象' - 这是 Python 的学习和使用者们最最常听到一句, 可谓 博大精深 - '勃大精深'. ' ...

  4. 关于Python中数据对象的可变性

    先贴上Python官网中对数据模型描述的几段话.(在python官网的 语言参考>>数据模型 那部分) Every object has an identity, a type and a ...

  5. python中的对象拷贝

    python中.进行函数參数传递或者返回值时,假设是一般的变量,会拷贝传递.假设是列表或字典则是引用传递.那python怎样对列表和字典进行拷贝传递呢:标准库的copy模块提供了两个方法:copy和d ...

  6. Python中Json对象处理的jsonpath-rw

    这两天在写一个爬虫,需要从网站返回的json数据提取一些有用的数据. 向url发起请求,返回的是response,在python3中,response.content是二进制bytes类型的,需要用d ...

  7. Python中的对象行为与特殊方法(二)类型检查与抽象基类

    类型检查 创建类的实例时,该实例的类型为类本身: class Foo(object): pass f = Foo() 要测试实例是否属于某个类,可以使用type()内置函数: >>> ...

  8. 【转】python中的对象拷贝

    转自:https://www.cnblogs.com/bhlsheji/p/5352330.html python中.进行函数參数传递或者返回值时,假设是一般的变量,会拷贝传递.假设是列表或字典则是引 ...

  9. python中判断对象类型的函数——isinstance

    isinstance是Python中的一个内建函数.是用来判断一个对象的变量类型. isinstance(object, class-or-type-or-tuple) 如果参数object是clas ...

随机推荐

  1. 跟我学Shiro目录贴

    转发地址:https://www.iteye.com/blog/jinnianshilongnian-2018398 扫一扫,关注我的公众号 购买地址 历经三个月左右时间,<跟我学Shiro&g ...

  2. Win10利用CodeBlocks搭建Objective-C开发环境(二)

    工程文件已经建好:但此时会发现main.m文件为灰色,且无法点击,此时需右键点击main.m文件,在option选项中勾选 compile file和 link file选项. 设置完成后,双击mai ...

  3. 共享文件word / excel /ppt 被用戶自己锁定无法编辑-解決方法

    共享文件word / excel /ppt 被用戶自己鎖定無法編輯,但用戶嘗試過關閉所有文件和重啓過系統,依然無法編輯. 搜到解決方法: Just in case someone looking fo ...

  4. FlappyBird

    学习CocosCreator有段时间了,现在花了两天时间写了个像素鸟的小游戏,这个游戏之前又看到过,但是不知道怎么又下架了,之前还是蛮火的游戏,想起来后去网上看了看,原来是因为侵犯了 超级玛丽 的游戏 ...

  5. Egret入门学习日记 --- 第十篇(书中 2.9~2.13节 内容)

    第十篇(书中 2.9~2.13节 内容) 好的 2.9节 开始! 总结一下重点: 1.之前通过 ImageLoader 类加载图片的方式,改成了 RES.getResByUrl 的方式. 跟着做: 重 ...

  6. 用户登录时,禁止chrome提示用户保存密码

    将input的type=“password”改为type=“text” 在获得焦点后,将type改为password <input class="iptpsw form-control ...

  7. iostat (转https://www.cnblogs.com/ftl1012/p/iostat.html)

    iostat是I/O statistics(输入/输出统计)的缩写,iostat工具将对系统的磁盘操作活动进行监视.它的特点是汇报磁盘活动统计情况,同时也会汇报出CPU使用情况.iostat也有一个弱 ...

  8. 工作总结--CTO(张王岩)File的使用

    名称     路径分隔符 pathSeparator   separator 构造器 文件名.路径名 getName()  getPath() getAbsolutePath()  getParent ...

  9. LinkedList的基本用法

    LinkedList类是双向列表,列表中的每个节点都包含了对前一个和后一个元素的引用. 博客原文地址链接:http://blog.csdn.net/i_lovefish/article/details ...

  10. Jmeter做HTTP接口测试

    接口测试概述:https://www.cnblogs.com/mawenqiangios/p/7886115.html Jmeter接口测试教程:https://www.cnblogs.com/hou ...