python學習五-python運算符(2019-12-26)
運算符用于執行程式代碼運算,會針對一個以上操作數項目來進行運算。例如:2+3,其操作數是2和3,而運算符則是“+”。Python中可以把運算符分成如下幾類:
(1) 算術運算符
(2) 指派運算符
(3) 比較(關系)運算符
(4) 邏輯運算符
(5) 位運算符
(6) 成員運算符
(7) 身份運算符
(8) 運算符優先級
一、算術運算符
運算符
描述
+
加操作
-
減操作
*
乘操作或是傳回一個被重複若幹次的字元串
/
除操作
%
取模操作,傳回整除除操作裡面的餘數部分
**
幂操作
//
整除操作,傳回除操作裡向下取整的值
執行個體代碼示範:
a = 5b = 2c = 0d = "hello"c = a + bprint("a + b =", c)c = a - bprint("a - b =", c)c = a * bprint("a * b =", c)c = a / bprint("a / b =", c)c = a % bprint("a % b =", c)c = a ** bprint("a ** b =", c)c = a // bprint("a // b =", c)c = d * 2 # 字元串d重複2次print("d * 2 =", c)
以上執行個體運作後輸出:
a + b = 7
a - b = 3
a * b = 10
a / b = 2.5
a % b = 1
a ** b = 25
a // b = 2
d * 2 = hellohello
二、指派運算符
運算符
描述
=
簡單的指派運算符
+=
先加法後指派運算符,a += b 等效于 a = a + b
-=
先減法指派運算符
*=
先乘法指派運算符
/=
先除法指派運算符
%=
先取模指派運算符
**=
先幂指派運算符
//=
先取整除指派運算符
:=
海象運算符,可在表達式内部為變量指派。
執行個體代碼示範:
a = 5c = 6c += aprint("c += a 值為:", c)c -= aprint("c -= a 值為:", c)c *= aprint("c *= a 值為:", c)c /= aprint("c /= a 值為:", c)c %= aprint("c %= a 值為:", c)c **= aprint("c **= a 值為:", c)c //= aprint("c //= a 值為:", c)
以上執行個體運作後輸出:
c += a 值為: 11
c -= a 值為: 6
c *= a 值為: 30
c /= a 值為: 6.0
c %= a 值為: 1.0
c **= a 值為: 1.0
c //= a 值為: 0.0
三、比較(關系)運算符
運算符
描述
=
等于
!=
不等于
>
大于
<
小于
>=
大于等于
<=
小于等于
四、邏輯運算符
運算符
描述
and
x and y布爾"與" - 如果 x 為 False,x and y 傳回 False,否則它傳回 y 的計算值。
or
x or y布爾"或" - 如果 x 是 True,它傳回 x 的值,否則它傳回 y 的計算值。
not
not x布爾"非" - 如果 x 為 True,傳回 False 。如果 x 為 False,它傳回 True。
五、位運算符
運算符
描述
&
按位與運算符:參與運算的兩個值,如果兩個相應位都為1,則該位的結果為1,否則為0 (a & b) 輸出結果 12 ,二進制解釋: 0000 1100
|
按位或運算符:隻要對應的二個二進位有一個為1時,結果位就為1。 (a | b) 輸出結果 61 ,二進制解釋: 0011 1101
^
按位異或運算符:當兩對應的二進位相異時,結果為1 (a ^ b) 輸出結果 49 ,二進制解釋: 0011 0001
~
按位取反運算符:對資料的每個二進制位取反,即把1變為0,把0變為1。~x 類似于 -x-1 (~a ) 輸出結果 -61 ,二進制解釋: 1100 0011, 在一個有符号二進制數的補碼形式。
<<
左移動運算符:運算數的各二進位全部左移若幹位,由"<
>>
右移動運算符:把">>"左邊的運算數的各二進位全部右移若幹位,">>"右邊的數指定移動的位數
六、成員運算符
運算符
描述
in
如果在指定的序列中找到值傳回 True,否則傳回 False。 x 在 y 序列中 , 如果 x 在 y 序列中傳回 True。
not in
如果在指定的序列中沒有找到值傳回 True,否則傳回 False。 x 不在 y 序列中 , 如果 x 不在 y 序列中傳回 True。
七、身份運算符
運算符
描述
is
is 是判斷兩個辨別符是不是引用自一個對象 x is y, 類似 id(x) == id(y) , 如果引用的是同一個對象則傳回 True,否則傳回 False
is not
is not 是判斷兩個辨別符是不是引用自不同對象 x is not y , 類似 id(a) != id(b)。如果引用的不是同一個對象則傳回結果 True,否則傳回 False。
八、運算符優先級
** 指數 (最高優先級)
~ + - 按位翻轉, 一進制加号和減号 (最後兩個的方法名為 +@ 和 -@)
* / % // 乘,除,求餘數和取整除
+ - 加法減法
>> << 右移,左移運算符
& 位 'AND'
^ | 位運算符
<= < > >= 比較運算符
== != 等于運算符
= %= /= //= -= += *= **= 指派運算符
is is not 身份運算符
in not in 成員運算符
not and or 邏輯運算符
另外:Python不支援++和--運算符,雖然在形式上有時候似乎可以這樣用,但實際上是另外的含義,Pyhton3 已不支援 <> 運算符,可以使用 != 代替。
