一个简单的Python问题——值到底是谁?

不管是什么语言,或许对于初学者总是会在这样一个地方犹豫不决,有以下Python程序: 

a = 'ABC'
b = a
a = 'XYZ'
print('a = %s, b = %s' %(a,b))

b输出是多少?


如果你的回答是 : b = XYZ
那么你的思路还没有理清楚,请看输出结果(请忽略除红线标注的部分):


思路,如下图:


按程序次序分析,首先给变量a赋值'ABC',那么a则指向了值‘ABC’存储的地址,然后将a赋值给b,所以b也指向了值‘ABC’的地址,
现在,再将a赋值为‘XYZ’,因为‘ABC’与‘XYZ’是不同的,所以a则改变为指向‘XYZ’的地址。而此时b的指向却没有改变。那么a的值出自然就是 XYZ, 而b值依然还是 ABC。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值