Python变量赋值的秘密分享


Posted in Python onApril 03, 2018

在Python中,我们令一个变量等于另外一个变量时,并不是把值传递给它,而是直接把指向的地址更改了。我们想要查看一个变量在内存中的地址,可以通过id(变量) 来查看。我们通过一个小例子来看看这个有趣的过程。

>>> x = 12
>>> y= 13
>>> id(x)
>>> id(y)
>>> x = y
>>> id(x)
>>> id(y)

首先给x变量赋值为12,y变量赋值为13,我们用id(变量)分别查看x和y在内存中的位置。上面显示分别为1865402384和1865402416。然后我们令x = y后,再查看一下它们在内存中的位置,发现x 和 y都指向了1865402416。由此可见,在python中,我们赋值的方式和C语言有所不同,c语言直接更改x那块内存里面的值,而Python直接改变x的指向,这让我想起了指针。

Python变量赋值的秘密分享

我们接着尝试一下,继续在这里输入下面的代码

>>> y = 12
>>> id(y)
1865402384

天!发生了什么??y在内存中的地址又变成1865402384了,准确说,y又指向了1865402384这块内存区域了。这样一看,和C语言的指针还真的很像呢。

Python 相关文章推荐
python中urllib模块用法实例详解
Nov 19 Python
在Python中使用SimpleParse模块进行解析的教程
Apr 11 Python
Python判断Abundant Number的方法
Jun 15 Python
python实现查找两个字符串中相同字符并输出的方法
Jul 11 Python
Python中进程和线程的区别详解
Oct 29 Python
Python+OpenCV实现图像融合的原理及代码
Dec 03 Python
python3通过selenium爬虫获取到dj商品的实例代码
Apr 25 Python
Python matplotlib画曲线例题解析
Feb 07 Python
python 在threading中如何处理主进程和子线程的关系
Apr 25 Python
如何卸载python插件
Jul 08 Python
python获取系统内存占用信息的实例方法
Jul 17 Python
Python中过滤字符串列表的方法
Dec 22 Python
python中字符串变二维数组的实例讲解
Apr 03 #Python
numpy找出array中的最大值,最小值实例
Apr 03 #Python
Python获取二维矩阵每列最大值的方法
Apr 03 #Python
Python中的并发处理之asyncio包使用的详解
Apr 03 #Python
图解Python变量与赋值
Apr 03 #Python
Python实现的HMacMD5加密算法示例
Apr 03 #Python
Python通过调用mysql存储过程实现更新数据功能示例
Apr 03 #Python
You might like
php实现把url转换迅雷thunder资源下载地址的方法
2014/11/07 PHP
PHP遍历目录函数opendir()、readdir()、closedir()、rewinddir()总结
2014/11/18 PHP
PHP 5.6.11中CURL模块问题的解决方法
2016/08/08 PHP
JavaScript Event学习第四章 传统的事件注册模型
2010/02/07 Javascript
Javascript中自动切换焦点实现代码
2012/12/15 Javascript
Area 区域实现post提交数据的js写法
2014/04/22 Javascript
使用 TypeScript 重新编写的 JavaScript 坦克大战游戏代码
2015/04/07 Javascript
在JavaScript中处理字符串之link()方法的使用
2015/06/08 Javascript
基于canvas的二维码邀请函生成插件
2017/02/14 Javascript
jQuery实现简单的手风琴效果
2020/04/17 jQuery
JavaScript全屏和退出全屏事件总结(附代码)
2017/08/17 Javascript
使用 Vue 绑定单个或多个 Class 名的实例代码
2018/01/08 Javascript
微信小程序学习笔记之跳转页面、传递参数获得数据操作图文详解
2019/03/28 Javascript
这应该是最详细的响应式系统讲解了
2019/07/22 Javascript
javascript 高级语法之继承的基本使用方法示例
2019/11/11 Javascript
nuxt.js添加环境变量,区分项目打包环境操作
2020/11/06 Javascript
仅用500行Python代码实现一个英文解析器的教程
2015/04/02 Python
Python分治法定义与应用实例详解
2017/07/28 Python
对pandas通过索引提取dataframe的行方法详解
2019/02/01 Python
Python应用领域和就业形势分析总结
2019/05/14 Python
Django 查询数据库并返回页面的例子
2019/08/12 Python
pytorch 实现cross entropy损失函数计算方式
2020/01/02 Python
利用CSS3把图片变成灰色模式的实例代码
2016/09/06 HTML / CSS
天网面试题
2013/04/07 面试题
车间工艺员岗位职责
2013/12/09 职场文书
法律专业学生的自我评价
2014/02/07 职场文书
就业意向书范文
2014/04/01 职场文书
煤矿开采专业求职信
2014/07/08 职场文书
运动会广播稿100字
2014/09/14 职场文书
标准离婚协议书(2014版)
2014/10/05 职场文书
村当支部个人对照检查材料思想汇报
2014/10/06 职场文书
2014年纪检工作总结
2014/11/12 职场文书
火烧圆明园观后感
2015/06/03 职场文书
《乌鸦喝水》教学反思
2016/02/19 职场文书
《战锤40K:暗潮》跳票至9月 公布新宣传片
2022/04/03 其他游戏
nginx七层负载均衡配置详解
2022/07/15 Servers