Python 变量的本质

Python 变量的本质

  1. 当我们写:a = ‘ABC’时,Python解释器干了两件事情:

    一、在内存中创建了一个’ABC’的字符串;

    二、在内存中创建了一个名为a的变量,并把它指向’ABC’。

    即,在Python中:

    1. 和其他编程语言一样的是,变量是内存地址的别名,即a代表了地址0x1002;
    2. 和其他编程语言不一样的是,Python中的变量和数据分开存储:变量a所代表的地址0x1001处仅保存了数据20存储的内存地址0x1002。
    3. 变量a所标示的内存空间存储数据20所在内存地址的过程称为引用。

变量与地址

在这里插入图片描述
我们看到,当a,b都是2.0时,它们的地址不一样,说明系统为a,b分配了不同的内存空间。但是,当a,b都是2时,它们的地址是一样的,怎么回事呢?这是因为,为了提高内存空间的利用效率,对于一些比较小的整型变量(int)使用了相同的内存空间。如果数值比较大,地址就不一样了。

参考文章:

  1. https://blog.csdn.net/weixin_37780776/article/details/105302633?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-5.channel_param&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-5.channel_param
  2. https://blog.csdn.net/qq_34979346/article/details/83691195?utm_medium=distribute.pc_relevant.none-task-blog-baidulandingword-5&spm=1001.2101.3001.4242
  3. https://blog.csdn.net/qq_33679504/article/details/80516466?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.channel_param&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.channel_param
  4. https://blog.csdn.net/WSBruce/article/details/79234389?utm_medium=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.channel_param&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.channel_param
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值