python(1) - 变量小测试

下面看一道题目:

a = 3

b = a

a = 5

print(a,b)

程序最后输出的a,b值分别是多少呢?

先想一想,然后我们执行一下看看正确答案:

image

正确答案 a 的值是5, b的值是3,为什么b的值没有随a的值的变化而变化?下面分析一下原因:

这里先介绍一个函数id(), 它可以查看变量的内存地址;好了,下面开始分析:

将程序拆分一下,先将3赋给a, 然后查看一下内存地址

image

再将a赋给b,然后查看b的内存地址

image

可以看出,b和a的内存地址是一样的

再将5赋给a, 查看a的内存地址

image

可以看到a的内存地址发生了变化,a指向了一个新的内存地址。

整个过程如下图所示:

image

posted @ 2016-01-18 17:51  黄小墨  阅读(157)  评论(0编辑  收藏  举报