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系列之浅谈pickle模块封装和拆封数据对象的方法
May 23 Python
Python中将字典转换为XML以及相关的命名空间解析
Oct 15 Python
Python cookbook(数据结构与算法)同时对数据做转换和换算处理操作示例
Mar 23 Python
python:print格式化输出到文件的实例
May 14 Python
Python 删除整个文本中的空格,并实现按行显示
Jul 24 Python
Python版名片管理系统
Nov 30 Python
python中删除某个元素的方法解析
Nov 05 Python
python匿名函数lambda原理及实例解析
Feb 07 Python
聊聊python中的异常嵌套
Sep 01 Python
python smtplib发送多个email联系人的实现
Oct 09 Python
高考要来啦!用Python爬取历年高考数据并分析
Jun 03 Python
pycharm代码删除恢复的方法
Jun 26 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操作MongoDB的技术总结
2013/06/02 PHP
php利用curl抓取新浪微博内容示例
2014/04/27 PHP
简单了解WordPress开发中update_option()函数的用法
2016/01/11 PHP
PHP共享内存使用与信号控制实例分析
2018/05/09 PHP
PHP基于DateTime类解决Unix时间戳与日期互转问题【针对1970年前及2038年后时间戳】
2018/06/13 PHP
Yii2框架配置文件(Application属性)与调试技巧实例分析
2019/05/27 PHP
php 使用expat方式解析xml文件操作示例
2019/11/26 PHP
javascript json 新手入门文档
2009/12/03 Javascript
为调试JavaScript添加输出窗口的代码
2010/02/07 Javascript
Jquery带搜索框的下拉菜单
2013/05/06 Javascript
JavaScript中json使用自己总结
2013/08/13 Javascript
JS验证邮箱格式是否正确的代码
2013/12/05 Javascript
异步动态加载JS并运行(示例代码)
2013/12/13 Javascript
javascript操作符"!~"详解
2015/02/10 Javascript
JavaScript 面向对象与原型
2015/04/10 Javascript
Bootstrap入门书籍之(三)栅格系统
2016/02/17 Javascript
大型JavaScript应用程序架构设计模式
2016/06/29 Javascript
javaScript强制保留两位小数的输入数校验和小数保留问题
2018/05/09 Javascript
JS滚轮控制图片缩放大小和拖动的实例代码
2018/11/20 Javascript
浅谈layui使用模板引擎动态渲染元素要注意的问题
2019/09/14 Javascript
vue.js购物车添加商品组件的方法
2019/09/17 Javascript
ES6中Set和Map用法实例详解
2020/03/02 Javascript
NodeJS多种创建WebSocket监听的方式(三种)
2020/06/04 NodeJs
Python的动态重新封装的教程
2015/04/11 Python
Python中作用域的深入讲解
2018/12/10 Python
使用python实现简单五子棋游戏
2019/06/18 Python
如何使用python传入不确定个数参数
2020/02/18 Python
Python run()函数和start()函数的比较和差别介绍
2020/05/03 Python
html5如何及时更新缓存文件(js、css或图片)
2013/06/24 HTML / CSS
HTML5 表单验证失败的提示语问题
2017/07/13 HTML / CSS
工作自我评价分享
2013/12/01 职场文书
家长评语大全
2014/01/22 职场文书
四议两公开实施方案
2014/03/28 职场文书
2016学习雷锋精神活动倡议书
2015/04/27 职场文书
2015年学校财务工作总结
2015/05/19 职场文书
详解MySQL 联合查询优化机制
2021/05/10 MySQL