python學習04:Python賦值運算子
阿新 • • 發佈:2019-10-08
賦值運算子主要用來為變數(或常量)賦值,在使用時,既可以直接用基本賦值運算子“=”將右側的值賦給左側的變數,右側也可以在進行某些運算後再賦值給左側的變數。
= 基本賦值運算子
Python 使用“=”作為賦值運算子,常用於將表示式的值賦給另一個變數。例如如下程式碼:
# 為變數st賦值為Python
st = "Python"
# 為變數pi賦值為3.14
pi = 3.14
# 為變數visited賦值為True
visited = True
除此之外,也可使用賦值運算利將一個變數的值賦給另一個變數。例如,如下程式碼也是正確的:
# 將變數st的值賦給st2 st2 = st print(st2)
值得指出的是,Python 的賦值表示式是有值的,賦值表示式的值就是被賦的值,因此 Python 支援連續賦值。例如,如下程式碼也是正確的:
a = b = c = 20
上面程式將 c=20。這個表示式的值賦給變數 b,由於賦值表示式本身也有值,就是被賦的值,因此 c=20 這個表示式的值就是 20,故 b 也被賦值為 20;依此類推,變數 a 也被賦值為 20。
賦值運算子還可用於將表示式的值賦給變數。例如,如下程式碼也是正確的:
d1 = 12.34 # 將表示式的值賦給d2 d2 = d1 + 5 # 輸出d2的值 print("d2的值為:%g" % d2 ) # 17.34
需要初學者特別注意的是,= 和 == 的含義完全不同,前者是賦值號,後者是等號,千萬不要混淆。
擴充套件後的賦值運算子
= 賦值運算子還可與其他運算子(算術運算子、位運算子等)結合,成為功能更強大的賦值運算子,如表 1 所示。
運算子 | 說 明 | 舉 例 | 展開形式 |
= | 最基本的賦值運算 | 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 指的是右移的位數 |
這裡舉幾個簡單的例子:
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
需要注意的是,程式中 a 的值通過 /= 和 %= 運算後,型別隱式改變成了浮點型,而浮點數是不能進行 &、|、^、<< 和 >> 運算的,否則 Python 直譯器會報錯(這些都屬於位運算子,具體用法後續文章會詳細介紹)。
通常情況下,只要能使用擴充套件後的賦值運算子,都推薦使用這種賦值運算