A=‘abc’时
Python解释器干了两件事情:
1.在内存中创建了一个‘ABC’的字符串
2.在内存中创建了一个名为A的变量,并把它指向‘ABC’
也可以把一个变量a赋值给另一个变量b,这个操作实际上是把变量b指向变量a所指向的数据,例如下面的代码:
问?最后一行打印出变量B的内容到底是‘ABC’ 呢还是‘XYZ’
如果从数学意义上理解,就会错误地得出B和A相同,也应该是‘XYZ’
但实际上B的值是‘ABC’
我们一行一行地执行代码,就可以看到到底发生了什么事
执行A=‘ABC’时,解释器创建了字符串‘ABC’ 和变量A,并把A指向‘ABC’
执行B=A,解释器创建了变量B,并把B指向A指向的字符串‘ABC’
执行A=‘XYZ’,并把A的指向改为‘XYZ’但B并没有更改
所以:最后打印变量B的结果自然是‘ABC’了
eg:
a