赋值操作符(=)
Python 语言中,等号(=)是主要的赋值操作符,其他是+=之类的增量赋值操作符。
a = -12
b = 7.9
注意的是,在python的赋值语句中,不用像C声明变量类型。另外注意的是:在Python中,赋值并不是直接将一个值赋给一个变量,而是将该对象的引用赋值给变量。
增量赋值
等号和一个算数操作符组合在一起,将计算结果重新赋值给左边的变量,被称作增量赋值,如下面的语句
x = x + 1
可以写成
x += 1
增量操作符有以下这些:
+= -= *= /+ %= **=
<<= >>= &= ^= /=
增量赋值相对于普通赋值不仅仅是写法上的改变,最有意义的变化是第一个对象(例子中的x)仅被处理一次。(这里我不是很理解,希望有大大告诉我)
Python不支持类型x++或x--这样的前置/后置 自增自减运算。
多重赋值
</pre><pre name="code" class="python">>>> x = y = z = 1
>>> x
1
>>> y
1
>>> z
1
>>>
多元赋值
>>> x , y, z = 1, 2, 'string'
>>> x
1
>>> y
2
>>> z
'string'
Python核心编程中推荐加上元括号以使你的代码有更高的可读性。如下:
>>> (x, y, z) = (1, 2, 'string')
>>> x
1
>>> y
2
>>> z
'string'
>>>
另外介绍一个我觉得非常有意思的东西。
在C语言中,如果我们要交换两个值(例如整数),大多数的程序员应该会这样写吧(利用一个临时变量):
int temp = 0;
temp = x;
x = y;
y = temp;
那么在Python中利用多元赋值可以不通过临时变量来实现交换两个值
>>> x, y = 1, 2
>>> x
1
>>> y
2
>>> x, y = y, x
>>> x
2
>>> y
1
>>>