python变量赋值

增量赋值

从python2.0开始 等号可以和一个算术操作符组合在一起,将计算结果重新赋值给左边的变量,这被称为增量赋值,类似下面的语句:

x=x+1
现在可以被写作:
x+=1

增量赋值相对普通赋值不仅仅是写法上的改变,最有意义的变化是第一个对象,金杯处理一次,可变对象会被就地修改(无修拷贝引用),不可变对象则和A=A+B的结果一样(分配一个新的对象),有一个例外就是A仅被求值一次

>>> m = 12
>>> m % = 7
>>> m
5
>>>m ** = 2
>>>m
25
>>>aList = [123,'xyz']
>>>aList += [456]
>>>aList
[123.'xyz',456]

Python不支持类似x++或者–x这样的前置/后置自增/自减运算

多重赋值

>>> x = y = z= 1
>>>x
1
>>>y
1
>>>z
1

在上面的例子中,一个值为1的整形对象被创建,该对象的同一个引用被赋值给x,y,z。也就是将一个对象赋给了多个变量,当然,在Python中,将多个对象赋值给多个变量也是可以的。

“多元”赋值

另一种能将多个变量同时赋值的方法我们称为多元赋值(multuple),这不是Python官方术语,而是我们将“mul—tuple”连在一起自创的。因为采用这种方式赋值的时候,等号两边的对象都是tuple

>>>x,y,z = 1,2,'a string'
>>>x
1
>>>y
2
>>>z
'a string'

通常元组需要用圆括号括起来,虽然这是可选的,建议总是加上圆括号一是你的代码有更高的可读性。

**在Python中两个变量交换
x,y=1,2
此时x=1,y=2
然后进行交换
x,y = y,x
此时x=2,y=1
显然,python在赋值之前已经事先对x,y的新值进行了计算**

你可能感兴趣的:(python)