賦值運算符主要用來爲變量(或常量)賦值,在使用時,既能夠直接用基本賦值運算符「=」將右側的值賦給左側的變量,右側也能夠在進行某些運算後再賦值給左側的變量。python
Python 使用「=」做爲賦值運算符,經常使用於將表達式的值賦給另外一個變量。例如以下代碼:spa
# 爲變量st賦值爲Python st = "Python" # 爲變量pi賦值爲3.14 pi = 3.14 # 爲變量visited賦值爲True visited = True
除此以外,也可以使用賦值運算利將一個變量的值賦給另外一個變量。例如,以下代碼也是正確的:.net
# 將變量st的值賦給st2 st2 = st print(st2)
值得指出的是,Python 的賦值表達式是有值的,賦值表達式的值就是被賦的值,所以 Python 支持連續賦值。例如,以下代碼也是正確的:code
a = b = c = 20
上面程序將 c=20。這個表達式的值賦給變量 b,因爲賦值表達式自己也有值,就是被賦的值,所以 c=20 這個表達式的值就是 20,故 b 也被賦值爲 20;依此類推,變量 a 也被賦值爲 20。
賦值運算符還可用於將表達式的值賦給變量。例如,以下代碼也是正確的:get
d1 = 12.34 # 將表達式的值賦給d2 d2 = d1 + 5 # 輸出d2的值 print("d2的值爲:%g" % d2 ) # 17.34
須要初學者特別注意的是,= 和 == 的含義徹底不一樣,前者是賦值號,後者是等號,千萬不要混淆。it
= 賦值運算符還可與其餘運算符(算術運算符、位運算符等)結合,成爲功能更強大的賦值運算符,如表 1 所示。
table
運算符 | 說 明 | 舉 例 | 展開形式 |
= | 最基本的賦值運算 | x = y | x = y |
+= | 加賦值 | x += y | x = x + y |
-= | 減賦值 | x -= y | x = x - y |
*= | 乘賦值 | x *= y | x = x * y |
/= | 除賦值 | x /= y | x = x / y |
%= | 取餘數賦值 | x %= y | x = x % y |
**= | 冪賦值 | x **= y | x = x ** y |
//= | 取整數賦值 | x //= y | x = x // y |
&= | 按位與賦值 | x &= y | x = x & y |
|= | 按位或賦值 | x |= y | x = x | y |
^= | 按位異或賦值 | x ^= y | x = x ^ y |
<<= | 左移賦值 | x <<= y | x = x << y,這裏的 y 指的是左移的位數 |
>>= | 右移賦值 | x >>= y | x = x >> y,這裏的 y 指的是右移的位數 |
這裏舉幾個簡單的例子:class
a = 1 b = 2 a += b print("a+b=",a)#1+2=3 a -= b print("a-b=",a)#3-2=1 a *= b print("a*b=",a)#1*2=2 a /= b print("a/b=",a)#2/2=1.0 a %= b print("a%b=",a)#1%2=1.0 c = 0 d = 2 c &= d print("c&d=",c)#0&2=0 c |= d print("c|d=",c)#0|2=2
運行結果爲:變量
a+b= 3 a-b= 1 a*b= 2 a/b= 1.0 a%b= 1.0 c&d= 0 c|d= 2
一般狀況下,只要能使用擴展後的賦值運算符,都推薦使用這種賦值運算符。擴展