python學習04:Python賦值運算符

賦值運算符主要用來爲變量(或常量)賦值,在使用時,既能夠直接用基本賦值運算符「=」將右側的值賦給左側的變量,右側也能夠在進行某些運算後再賦值給左側的變量。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

表 1 Python 經常使用賦值運算符
運算符 說 明 舉 例 展開形式
= 最基本的賦值運算 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

須要注意的是,程序中 a 的值經過 /= 和 %= 運算後,類型隱式改變成了浮點型,而浮點數是不能進行 &、|、^、<< 和 >> 運算的,不然 Python 解釋器會報錯(這些都屬於位運算符,具體用法後續文章會詳細介紹)。

一般狀況下,只要能使用擴展後的賦值運算符,都推薦使用這種賦值運算符。擴展

相關文章
相關標籤/搜索