概述
在之前的学习中,我们初步了解了什么是变量以及变量的声明及其使用。在此,我们继续深入的学习变量。我们先来看一行非常熟悉的代码:
a = 1
我们知道:通过该行代码,声明了变量a,它的值为9527。那么,在这行代码的背后到底蕴藏着什么呢?
- 1、在内存中开辟一块空间存放数据9527
- 2、变量a中保存了该块空间的起始地址
- 3、变量中记录的数据在内存中的起始地址叫做引用;也常称变量是数据的引用
- 3、可通过变量a(即引用)访问内存中的数据9527
- 4、可通过函数id( )查看变量保存的内存空间起始地址
示例
"""
原创作者:谷哥的小弟
博客地址:
示例描述:变量进阶
"""
# 定义变量
a = 9527
# 打印变量在内存中的地址
print("变量%d在内存中的地址是%x" % (a, id(a)))
在赋值语句a = 9527中数据9527是一个整数,a 是该整数的引用;利用赋值语句使引用a指向数据9527。其实,这非常类似于放风筝——数据是风筝,变量是手中的线。我们可以通过手中的线操控天上的风筝,也可通过引用操控内存中的数据。
当给已经定义的变量重新赋值时会修改数据的引用,也就是说:变量不再对之前的数据引用而修改为对新赋值的数据的引用。这就好比手中的线不再连着之前的风筝了而连着新的风筝。
示例
"""
原创作者:谷哥的小弟
博客地址:
示例描述:变量进阶
"""
# 定义变量
a = 9527
# 打印变量在内存中的地址
print("变量%d在内存中的地址是%x" % (a, id(a)))
# 对变量重新赋值
a = 9528
# 打印变量在内存中的地址
print("变量%d在内存中的地址是%x" % (a, id(a)))
假若把已定义的变量赋值给另外一个变量,那么这两个变量便指向了同一个数据。或者说,数据具有两个相同的引用。
示例
"""
原创作者:谷哥的小弟
博客地址:
示例描述:变量进阶
"""
# 定义变量
a = 9527
# 打印变量在内存中的地址
print("变量%d在内存中的地址是%x" % (a, id(a)))
# 对变量重新赋值
a = 9528
# 打印变量在内存中的地址
print("变量%d在内存中的地址是%x" % (a, id(a)))
b = 100
# 将变量赋值给另外的变量
c = b
# 打印变量在内存中的地址
print("变量%d在内存中的地址是%x" % (b, id(b)))
# 打印变量在内存中的地址
print("变量%d在内存中的地址是%x" % (c, id(c)))