您的位置:首页 > 理论基础

python变量在计算机内存中的表示

2015-04-08 20:40 363 查看
摘自:
http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/001374738264643de15c5c4abad47dd9510e3b86286acb8000
理解变量在计算机内存中的表示也非常重要。当我们写:
a = 'ABC'


时,Python解释器干了两件事情:

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

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


也可以把一个变量
a
赋值给另一个变量
b
,这个操作实际上是把变量
b
指向变量
a
所指向的数据,例如下面的代码:
a = 'ABC'b = a
a = 'XYZ'
print b


最后一行打印出变量
b
的内容到底是
'ABC'
呢还是
'XYZ'
?如果从数学意义上理解,就会错误地得出
b
a
相同,也应该是
'XYZ'
,但实际上
b
的值是
'ABC'
,让我们一行一行地执行代码,就可以看到到底发生了什么事:

执行
a = 'ABC'
,解释器创建了字符串
'ABC'
和变量
a
,并把
a
指向
'ABC'




执行
b = a
,解释器创建了变量
b
,并把
b
指向
a
指向的字符串
'ABC'




执行
a = 'XYZ'
,解释器创建了字符串'XYZ',并把
a
的指向改为
'XYZ'
,但
b
并没有更改:



所以,最后打印变量
b
的结果自然是
'ABC'
了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: