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 中的divmod数字处理函数浅析
Oct 17 Python
使用apidoc管理RESTful风格Flask项目接口文档方法
Feb 07 Python
matplotlib subplots 设置总图的标题方法
May 25 Python
Python Web编程之WSGI协议简介
Jul 18 Python
一个可以套路别人的python小程序实例代码
Apr 09 Python
ubuntu 18.04搭建python环境(pycharm+anaconda)
Jun 14 Python
python实现比对美团接口返回数据和本地mongo数据是否一致示例
Aug 09 Python
Python异常原理及异常捕捉实现过程解析
Mar 25 Python
Python基于pandas绘制散点图矩阵代码实例
Jun 04 Python
使用python实现下载我们想听的歌曲,速度超快
Jul 09 Python
接口自动化多层嵌套json数据处理代码实例
Nov 20 Python
Python实现天气查询软件
Jun 07 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 数组的创建、调用和更新实现代码
2009/03/09 PHP
Yii2.0使用阿里云OSS的SDK上传图片、下载、删除图片示例
2017/09/20 PHP
javascript下查找父节点的简单方法
2007/08/13 Javascript
Js+Flash实现访问剪切板操作
2012/11/20 Javascript
JQuery实现简单时尚快捷的气泡提示插件
2012/12/20 Javascript
jQuery .attr()和.removeAttr()方法操作元素属性示例
2013/07/16 Javascript
ExtJs动态生成treepanel的Json格式
2015/07/19 Javascript
JavaScript获取当前cpu使用率的方法
2015/12/15 Javascript
AngularJS向后端ASP.NET API控制器上传文件
2016/02/03 Javascript
javascript中使用未定义变量或值的情况分析
2016/07/19 Javascript
Bootstrap源码解读表单(2)
2016/12/22 Javascript
angularjs1.5 组件内用函数向外传值的实例
2018/09/30 Javascript
vue实现的树形结构加多选框示例
2019/02/02 Javascript
jQuery cookie的公共方法封装和使用示例
2020/06/01 jQuery
微信小程序实现watch监听
2020/06/04 Javascript
JS遍历树层级关系实现原理解析
2020/08/31 Javascript
ES2020让代码更优美的运算符 (?.) (??)
2021/01/04 Javascript
Python 深入理解yield
2008/09/06 Python
简单谈谈Python中的json与pickle
2017/07/19 Python
python3.6连接mysql数据库及增删改查操作详解
2020/02/10 Python
Tkinter中复选菜单是否被选中的判断与设置方式
2020/03/04 Python
Python venv虚拟环境配置过程解析
2020/07/08 Python
大唐电信科技股份有限公司java工程师面试经历
2016/12/09 面试题
什么是.net
2015/08/03 面试题
土木工程建筑专业毕业生求职信
2013/10/21 职场文书
诚实守信道德模范事迹材料
2014/08/15 职场文书
一般党员对照检查材料
2014/09/24 职场文书
小学班主任事迹材料
2014/12/17 职场文书
生日答谢词
2015/01/05 职场文书
小升初自荐信怎么写
2015/03/26 职场文书
八年级数学教学反思
2016/02/17 职场文书
2016年共产党员公开承诺书
2016/03/24 职场文书
世界各国短波电台对东亚播送时间频率表(SW)
2021/06/28 无线电
公历12个月名称的由来
2022/04/12 杂记
Python尝试实现蒙特卡罗模拟期权定价
2022/04/21 Python
MySQL中order by的执行过程
2022/06/05 MySQL