2.2.5 赋值语句

在前面的程序中,用到了一条语句num=int(input("输入一个数字:")),其中的“=”在Python中表示“赋值”,包含“=”的语句被称为赋值语句。“=”是一个赋值符号,表示将“=”右侧的值赋给“=”左侧的变量,在这条语句中表示将“=”右侧获取到的输入数字赋给“=”左侧的num变量。“=”赋值符号和数学中的“=”符号的含义是不一样的。

在Python程序中,还有一种同步赋值语句,该语句可以同时给多个变量赋值(先运算右侧N个表达式,然后同时将表达式的运算结果赋给左侧的变量)。语法如下:

例如,交换变量x和y的值,如果采用单个赋值的方式,则需要3行语句,如下:

在上述代码中,先通过一个临时变量z缓存x的原始值,然后将y值(交换)赋给x,最后将x的原始值通过z(交换)赋给y,从而完成变量x和y值的交换操作。

如果采用同步赋值语句的方式,则不需要借用临时变量缓存数值,仅需要一行代码即可,如下:

同步赋值语句可以让赋值过程变得更便捷,减少变量的使用,使赋值语句更简洁易懂,提高程序的可读性。

另外,在Python程序中,赋值语句x=y和y=x的含义是不同的。范例如下:

注意

上述代码需要一行一行地输入和执行,否则会报语法错误。

在本例中,虽然x的初始值是3(第1行),但在第3行“x=y”的赋值语句中又把y的值(9)赋给了x,现在x的值已经由最初的3变成了9。而y没有被重新赋值,其值保持不变。所以,程序执行输出的数值均为9,如下: