您的位置:首页 > 编程语言 > Python开发

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

2015-11-04 19:18 591 查看
不管是什么语言,或许对于初学者总是会在这样一个地方犹豫不决,有以下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。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: