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的指向,这让我想起了指针。

Python变量赋值的秘密分享

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


>>> 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
  • asp之家 网络编程 m.aspxhome.com