
上QQ阅读APP看书,第一时间看更新
2.3.2 变量的赋值
Python中的变量不需要声明,变量的赋值操作即是变量声明和定义的过程。每个变量在内存中创建,都包括变量的标识、名称和数据这些信息。例如:
x = 1
上面的代码创建了一个变量x,并且赋值为1,如图2-1所示。

图2-1 变量的内部结构
Python中一次新的赋值,将创建一个新的变量。即使变量的名称相同,变量的标识并不相同。下面的代码演示了Python的变量声明以及赋值操作。
01 # 一次新的赋值操作,将创建一个新的变量 02 x = 1 # 定义变量并赋值 03 print (id(x)) # id()函数用于获取对象的内存地址 04 x = 2 05 print( id(x))
【代码说明】
·第2行代码定义了一个名为x的变量,该变量的初始值为1。
·第3行代码,输出变量x的内存地址。输出结果如下。
140732879565056
·第4行代码再次定义了一个名为x的变量,该变量的初始值为2。该变量与前面的变量x并不是同一变量。
·第5行代码,输出变量x的内存地址。输出结果如下。
140732879565088
如果变量没有赋值,Python将认为该变量不存在。例如:
print (y)
运行后,解释器提示:
NameError: name 'y' is not defined
在变量y没有赋值的前提下,不能直接输出y的值。每个变量在使用前都必须赋值,这样可以避免由于变量的空值引起的一些异常。Python支持对一些变量同时赋值的操作,例如:
01 # 给多个变量赋值 02 a = (1, 2, 3) 03 (x, y, z) = a 04 print( "x =", x) 05 print( "y =", y) 06 print( "z =", z)
【代码说明】
·第2行代码定义了一个序列a,这个序列有3个值:1、2、3。
·第3行代码,把序列a的值分别赋值给序列(x,y,z)中的变量x、y、z。
·第4行代码输出变量x的值。输出结果:
x = 1
·第5行代码输出变量y的值。输出结果:
y = 2
·第6行代码输出变量z的值。输出结果:
z = 3
通过序列的装包和拆包操作,实现了同时给多个变量赋值。关于序列的概念参见第4章的内容。