python可以同时给多个变量进行赋值
给多个变量赋同样值:
>>> a = b = 2 >>> a 2 >>> b 2
不可以使用这种写法:
>>> a,b=2 Traceback (most recent call last): File "<pyshell#14>", line 1, in <module> a,b=2 TypeError: 'int' object is not iterable
给多个变量赋不同值:
>>> a,b = (1,2) >>> a 1 >>> b 2
>>> a,b = [10,2]>>> a 10 >>> b 2
所以也支持类似range的函数
>>> a,b,c = range(3) >>> a 0 >>> b 1 >>> c 2
交换变量的值:
交换变量的值在python中可以用这种便捷的写法,而无需另外设定一个变量存放临时数值
如
c=a a=b b=c
可以直接使用这种方法:
>>> a,b = [10,2] >>> a,b = b,a >>> a 2 >>> b 10
>>> a,b,c = [10,1,2] >>> a,b,c = c,a,b >>> a 2 >>> b 10 >>> c 1
且交换数值时,可以进行运算:
>>> a,b,c = [10,1,2] >>> a 10 >>> b 1 >>> c 2 >>> a,b,c = c,a,a-c >>> a 2 >>> b 10 >>> c 8