python是一种解释型编程语言,对于编程来说,变量是大家必须并且经常用到的,那大家真正的完全了解python变量吗?今天就让我来简单地介绍一下变量有关的知识,帮大家好好巩固一下基础。
首先来看一个有关变量有趣的例子:
a = []
b = a
for i in range(3):
a.append(i+1)
print(a,b)
b = 1
print(a,b)
结果如下:
[1, 2, 3] [1, 2, 3]
[1, 2, 3] 1
不知道大家会不会对此结果有所疑问,为什么第一个打印a,b结果一样,然后第二个打印信息又不一样,如果你对python变量的定义,以及特性很清楚,相信你就不会再有疑问了。
1、变量组成的三大部分
变量名 = 变量值
1.1、变量名
变量名存储变量值所在的内存地址,是访问变量值的唯一方式
1.2、= 赋值符号
用来将变量值的内存地址绑定给变量名
1.3、变量值
变量值就是我们真正需要的数据
简单的说就是变量存储的是变量值的内存地址,python是通过内存地址获取变量值,通过变量的定义我们再来看看上面的代码运行结果为什么是这样的
#这里变量a存储空列表值的内存地址
a = []
#变量b也存储空列表值的内存地址
b = a
#修改空列表值的内容
for i in range(3):
a.append(i+1)
#由于a,b都存储同一个内存地址从而打印结果一样[1, 2, 3] [1, 2, 3]
print(a,b)
#变量b存储1的内存地址
b = 1
#a,b指向不同的变量值所以打印结果不一样分别为[1, 2, 3] 1
print(a,b)
2、变量的三大特性
2.1、ID
ID 代表的是变量在内存中的唯一编号,内存地址不同,ID不同
2.2、类型
类型代表变量值的数据类型
2.3、值
变量值本身
根据变量特性可以知道如果变量的id相同代表他们指向同一个变量值,让我们将上述例子中变量a,b的id和类型一起打印出来看看
a = []
b = a
for i in range(3):
a.append(i+1)
print(a,b,id(a),id(b),type(a),type(b))
b = 1
print(a,b,id(a),id(b),type(a),type(b))
[1, 2, 3] [1, 2, 3] 2634628612480 2634628612480 <class 'list'> <class 'list'>
[1, 2, 3] 1 2634628612480 140715992033072 <class 'list'> <class 'int'>
结果也充分说明第一个打印消息全部相等,第二个已经改变不一样了。
3、判断变量时,is 和 == 的区别
is 比较左右两个值的ID是否相等
== 比较左右两个值是否相等
Python变量的知识就分享到这了,下次再见。