Python变量赋值的秘密分享
作者:来喽来喽 时间:2021-10-12 11:53:04
在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的指向,这让我想起了指针。
我们接着尝试一下,继续在这里输入下面的代码
>>> y = 12
>>> id(y)
1865402384
天!发生了什么??y在内存中的地址又变成1865402384了,准确说,y又指向了1865402384这块内存区域了。这样一看,和C语言的指针还真的很像呢。
来源:https://www.cnblogs.com/YaLi/archive/2017/08/12/7351932.html
标签:Python,变量赋值
0
投稿
猜你喜欢
如何通过python实现人脸识别验证
2021-10-30 18:52:56
ASP 包含文件中的路径问题和使用单一数据库连接文件的解决方案
2011-04-07 10:35:00
Python实现动态添加类的属性或成员函数的解决方法
2021-05-13 17:13:41
perl大文件读取处理的模块介绍
2023-12-27 20:10:27
Java通过正则表达式获取字符串中数字的方法示例
2022-11-26 16:21:22
js实现点击后将文字或图片复制到剪贴板的方法
2024-04-30 09:51:07
MySQL触发器trigger的使用
2024-01-23 15:08:23
用python将pdf转化为有声读物
2021-02-02 10:06:46
python 图片验证码代码
2023-07-22 00:33:19
mysql日志滚动
2024-01-26 18:38:52
Python + selenium + requests实现12306全自动抢票及验证码破解加自动点击功能
2021-07-24 04:50:52
pandas按某列降序的实现
2021-02-19 08:29:44
pytorch加载语音类自定义数据集的方法教程
2021-07-15 20:38:07
MySql COALESCE函数使用方法代码案例
2024-01-14 03:47:25
Python locust工具使用详解
2021-11-04 04:04:56
使用window.name解决跨域问题
2008-09-04 12:10:00
ueditor编辑器不能上传图片问题的解决方法
2023-09-16 04:55:03
JavaScript 中获取数组最后一个元素方法汇总
2024-06-07 15:25:25
JavaScript中定义函数的三种方法
2024-05-09 10:37:04
Python海龟绘图之绘制趣味简笔画
2023-03-13 09:09:40