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之使用Python查询更新数据库
Nov 25 Python
Python元组操作实例分析【创建、赋值、更新、删除等】
Jul 24 Python
python实现机械分词之逆向最大匹配算法代码示例
Dec 13 Python
python 日志增量抓取实现方法
Apr 28 Python
selenium3+python3环境搭建教程图解
Dec 07 Python
python3使用flask编写注册post接口的方法
Dec 28 Python
python实现比对美团接口返回数据和本地mongo数据是否一致示例
Aug 09 Python
Python要如何实现列表排序的几种方法
Feb 21 Python
Python实现敏感词过滤的4种方法
Sep 12 Python
Python列表嵌套常见坑点及解决方案
Sep 30 Python
Opencv实现二维直方图的计算及绘制
Jul 21 Python
pytorch中的 .view()函数的用法介绍
Mar 17 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
dedecms后台验证码总提示错误的解决方法
2007/03/21 PHP
CodeIgniter框架中_remap()使用方法2例
2014/03/10 PHP
Symfony2安装的方法(2种方法)
2016/02/04 PHP
Yii2中添加全局函数的方法分析
2017/05/04 PHP
PHP Laravel 上传图片、文件等类封装
2017/08/16 PHP
Thinkphp5 微信公众号token验证不成功的原因及解决方法
2017/11/12 PHP
Javascript入门学习资料收集整理篇
2008/07/06 Javascript
javascript 动态table添加colspan\rowspan 参数的方法
2009/07/25 Javascript
在js文件中如何获取basePath处理js路径问题
2013/07/10 Javascript
js中数组Array的一些常用方法总结
2013/08/12 Javascript
jquery 图片缩放拖动的简单实例
2014/01/08 Javascript
js完美的div拖拽实例代码
2014/01/22 Javascript
在百度知道团队中快速审批新成员的js脚本
2014/02/02 Javascript
js数组与字符串的相互转换方法
2014/07/09 Javascript
jQuery中insertAfter()方法用法实例
2015/01/08 Javascript
jQuery循环动画与获取组件尺寸的方法
2015/02/02 Javascript
基于Bootstrap的Metronic框架实现页面链接收藏夹功能
2016/08/29 Javascript
JQuery 又谈ajax局部刷新
2017/11/27 jQuery
nodejs微信开发之接入指南
2019/03/17 NodeJs
vue 实现微信浮标效果
2019/09/01 Javascript
通过原生vue添加滚动加载更多功能
2019/11/21 Javascript
微信小程序自定义顶部组件customHeader的示例代码
2020/06/03 Javascript
python基于右递归解决八皇后问题的方法
2015/05/25 Python
从源码解析Python的Flask框架中request对象的用法
2016/06/02 Python
python在每个字符后添加空格的实例
2018/05/07 Python
python 实现求解字符串集的最长公共前缀方法
2018/07/20 Python
python中使用while循环的实例
2019/08/05 Python
python topk()函数求最大和最小值实例
2020/04/02 Python
python3的pip路径在哪
2020/06/23 Python
HTML5 embed 标签使用方法介绍
2013/08/13 HTML / CSS
大学生就业推荐信范文
2013/11/29 职场文书
计算机软件个人的自荐信范文
2013/12/01 职场文书
校园之星获奖感言
2014/01/29 职场文书
法学专业毕业实习自我鉴定2014
2014/09/27 职场文书
抗洪救灾感谢信
2015/01/22 职场文书
电影雷锋观后感
2015/06/10 职场文书