python共享引用(多个变量引用)示例代码


Posted in Python onDecember 04, 2013
a = 3
b = a

先上图(图1)吧,大家一看就一目了然了:

python共享引用(多个变量引用)示例代码

变量名和对象,在运行赋值语句b = a之后,变量a,b都指向了对象3的内存空间.
假设这时执行 a = 'python', a将指向刚创建的字符串对象。
我们再来试试这种情况:

>>>list_1 = [1,2,3,4]
>>>list_2 = list_1
>>>list_2
>>>list_1[0] = 'python'
>>>list_2

result:

[1,2,3,4]
['python',2,3,4]

python共享引用(多个变量引用)示例代码

从我的理解上来解释的话: list是一个类型对象,而对象里的每一个元素可以看成是变量,去引用了不同内存空间的对象list_1 = [1,2,3,4]是让list_1指向list的内存空间,list_2 = list_1时,他们将指向同一个内存空间。当List_1[0]改变指向时,list_2依然指向list对象的,所以看是改变list_1[0]的值,实际上是python通过list_1直接到内存空间去做了修改,list_2的指向没有任何变量。
或许这种结果并不是我们想要的。如果你不想要这样的现象发生,需要python对象拷贝,而不是创建引用。
如:

python共享引用(多个变量引用)示例代码

Python 相关文章推荐
python创建关联数组(字典)的方法
May 04 Python
Python实现简单HTML表格解析的方法
Jun 15 Python
python学习基础之循环import及import过程
Apr 22 Python
python中for循环输出列表索引与对应的值方法
Nov 07 Python
对Python中list的倒序索引和切片实例讲解
Nov 15 Python
postman模拟访问具有Session的post请求方法
Jul 15 Python
Django发送邮件和itsdangerous模块的配合使用解析
Aug 10 Python
Python3.7 pyodbc完美配置访问access数据库
Oct 03 Python
关于Tensorflow 模型持久化详解
Feb 12 Python
Python键鼠操作自动化库PyAutoGUI简介(小结)
May 17 Python
python如何查看网页代码
Jun 07 Python
Python 制作查询商品历史价格的小工具
Oct 20 Python
python函数返回多个值的示例方法
Dec 04 #Python
python sys模块sys.path使用方法示例
Dec 04 #Python
Python yield使用方法示例
Dec 04 #Python
python函数参数*args**kwargs用法实例
Dec 04 #Python
Mac OS X10.9安装的Python2.7升级Python3.3步骤详解
Dec 04 #Python
Python Web框架Pylons中使用MongoDB的例子
Dec 03 #Python
python将xml xsl文件生成html文件存储示例讲解
Dec 03 #Python
You might like
php的list()的一步操作给一组变量进行赋值的使用
2011/05/18 PHP
php学习笔记之 函数声明
2011/06/09 PHP
基于php split()函数的用法详解
2013/06/05 PHP
PHP代码维护,重构变困难的4种原因分析
2016/01/25 PHP
PHP中Trait及其应用详解
2017/02/14 PHP
php实现微信公众平台发红包功能
2018/06/14 PHP
新老版本juqery获取radio对象的方法
2010/03/01 Javascript
JavaScript中使用构造函数实现继承的代码
2010/08/12 Javascript
两个listbox实现选项的添加删除和搜索
2013/03/01 Javascript
在服务端(Page.Write)调用自定义的JS方法详解
2013/08/09 Javascript
JS取得绝对路径的实现代码
2015/01/16 Javascript
javascript解决IE6下hover问题的方法
2015/07/28 Javascript
Bootstrap Modal遮罩弹出层代码分享
2016/11/21 Javascript
JavaScript之DOM插入更新删除_动力节点Java学院整理
2017/07/03 Javascript
使用mock.js随机数据和使用express输出json接口的实现方法
2018/01/07 Javascript
详解滑动穿透(锁body)终极探索
2019/04/16 Javascript
基于layui实现高级搜索(筛选)功能
2019/07/26 Javascript
谈谈我在vue-cli3中用预渲染遇到的坑
2020/04/22 Javascript
[02:49]DOTA2完美大师赛首日观众采访
2017/11/23 DOTA
socket + select 完成伪并发操作的实例
2017/08/15 Python
python使用正则表达式的search()函数实现指定位置搜索功能
2017/11/10 Python
使用Anaconda3建立虚拟独立的python2.7环境方法
2018/06/11 Python
Python全排列操作实例分析
2018/07/24 Python
钉钉群自定义机器人消息Python封装的实例
2019/02/20 Python
Python地图绘制实操详解
2019/03/04 Python
Python多继承以及MRO顺序的使用
2019/11/11 Python
微信html5页面调用第三方位置导航的示例
2018/03/14 HTML / CSS
HTML5 客户端数据库简易使用:IndexedDB
2019/12/19 HTML / CSS
HTML5通过navigator.mediaDevices.getUserMedia调用手机摄像头问题
2020/04/27 HTML / CSS
德国运动营养和健身网上商店:Myprotein.de
2018/07/18 全球购物
优秀教师获奖感言
2014/01/31 职场文书
《我的信念》教学反思
2014/02/15 职场文书
卫生巾广告词
2014/03/18 职场文书
中学清明节活动总结
2014/07/04 职场文书
企业公益活动策划方案
2014/08/24 职场文书
大学生入党积极分子党校学习思想汇报
2014/10/25 职场文书