運算符是處理的運算元的值的結構。
考慮運算式4 + 5= 9,在這裏4和5被稱為運算元,而 + 被稱為操作符。
運算符的類型
Python語言支持以下類型的運算符。
-
算術運算符
-
比較(關係)運算符
-
賦值運算符
-
邏輯運算符
-
位運算符
-
運算符成員
-
標識運算符
讓我們一個一個地來看所有運算符。
Python算術運算符
假設變數包含a=10以及變數b=21,那麼
[ 顯示實例 ]
操作符 | 描述 | 示例 |
---|---|---|
+ 加法 | 相加運算兩側的值 | a + b = 31 |
- 減法 |
操作符右側數減去左側運算元
|
a – b = -11 |
* 乘法 |
操作符兩側的值相乘
|
a * b = 210 |
/ 除法 |
用運算符右側的運算元除以左側運算元
|
b / a = 2.1 |
% 模 |
用右手運算元除以左手運算元並返回餘數
|
b % a = 1 |
** 指數 |
執行運算符指數(冪)計算
|
a**b 就是10 的20 次冪 |
// | 地板除 - 除法不管運算元為何種數值類型,總是會舍去小數部分,返回數字序列中比真正的商小的最接近的數字 | 9//2 = 4 和 9.0//2.0 = 4.0 |
Python比較運算符
這些運算符對它們的兩側的值進行比較,並決定它們之間的關係。它們也被稱為關係運算符。
假設變數a=10和變數b=20,那麼-
[ 顯示實例 ]
操作符 | 描述 | 示例 |
---|---|---|
== |
如果兩個運算元的值相等,則條件計算結果為 true
|
(a == b) 其值不為 true. |
!= |
如果兩個運算元的值不相等,則條件變為 false
|
(a!= b) 其值為 true. |
> |
如果左運算元的值大於右運算元的值,則條件為 true
|
(a > b) 其值不為true. |
< |
如果左運算元的值小於右運算元的值,則條件為 true
|
(a < b) 其值為true. |
>= |
如果左運算元的值大於或等於右運算元的值,則條件為 true
|
(a >= b) 其值不為 true. |
<= |
如果左運算元的值小於或等於右運算元的值,則條件為 true
|
(a <= b) 其值為 true. |
Python賦值運算符
假設變數a=10和變數b=20,那麼-
[ 顯示實例 ]
運算符 | 描述 | 示例 |
---|---|---|
= |
將右側的運算元賦值給左側的運算元
|
c = a + b 是將 a + b 的值分配到 c |
+= |
相加右運算元和左運算元,並分配結果到左運算元
|
c += a 相當於 c = c + a |
-= |
左運算元減去右運算元,並分配結果到左運算元
|
c -= a 相當於 c = c - a |
*= | 右運算元和左運算元相乘,並分配結果到左運算元 | c *= a 相當於 c = c * a |
/= | 左運算元除以右運算元,並分配結果到左運算元 | c /= a 相當於 c = c / a;c /= a相當於 c = c / a |
%= | 左運算元模除以右運算元,並分配結果到左運算元 | c %= a 相當於 c = c % a |
**= |
執行運算符指數(冪)計算並將結果分配值給左運算元
|
c **= a 相當於c = c ** a |
//= 地板除 |
對運算元進行地板除,並賦值給左運算元
|
c //= a 相當於 c = c // a |
Python位運算符
位運算符適用於位和位運算符執行位上的運算。 假設如果 a = 60; 且b =13; 現在它們的二進位格式如下 -
a = 0011 1100
b = 0000 1101
-----------------
a&b = 0000 1100
a|b = 0011 1101
a^b = 0011 0001
~a = 1100 0011
Python的內置函數 bin() 可以被用來獲取整數的二進位表示。
Python語言支持以下位運算符。
[ 顯示實例 ]
運算符 | 描述 | 示例 |
---|---|---|
& |
操作符複製一個位到結果如果都存在於兩個運算元
|
(a & b) (二進位為 0000 1100) |
| |
它複製一個位,如果存在於其中一個運算元
|
(a | b) = 61 (二進位為 0011 1101) |
^ |
異或運算
|
(a ^ b) = 49 (二進位為 0011 0001) |
~ |
它是一元,並具有“翻轉”位的作用
|
(~a ) = -61 (二進位為 1100 00112 以補數形式,由於一個帶符號二進位數) |
<< |
二進位左移
|
a << = 240 (二進位為 1111 0000) |
>> |
二進位右移
|
a >> = 15 (二進位為 0000 1111) |
Python邏輯運算符
Python語言支持以下邏輯運算符。假設變數 a = true ,變數 b = false,那麼
[ 顯示實例 ]
Python操作符成員
在一個序列Python的成員操作符來測試成員,如字串,列表或元組。 有兩個成員操作符如下面所解釋:
[ 操作符成員示例 ]
運算符 | 描述 | 示例 |
---|---|---|
in |
如果在指定的順序中找到變數,計算結果為true,否則為 false
|
x in y, 如果x是序列y的成員,則返回true |
not in |
如果在指定的順序中不能找到變數,計算結果為true,否則為 false
|
x not in y, 如果x不是序列y的成員,則返回true |
Python標識操作符
標識運算符比較兩個對象的存儲單元。 兩種標識操作符解釋如下:
[ 顯示應用實例 ]
運算符 | 描述 | 示例 |
---|---|---|
is |
如果操作符兩側是相同的對象,計算結果為true,否則結果為 false
|
x is y,如果ID(x)等於ID(y)返回 1
|
is not |
如果操作符兩側的變數是相同的對象,計算結果為false,否則 true
|
x is not y, 如果ID(x)不等於ID(y)返回 1 |
Python運算優先順序
下表列出了所有從最高優先順序到最低的運算符。
[ 運算符優先順序 ]
運算符 | 描述 | |
---|---|---|
** |
冪(指數)
|
|
~ + - |
補,一元加號和減號(方法名的最後兩個+@和 -@)
|
|
* / % // |
乘,除,取模和地板除
|
|
+ - |
加法和減法
|
|
>> << |
左,右轉向按位
|
|
& |
位元“與”
|
|
^ | |
按位異或`'和常規`或'
|
|
<= < > >= |
比較運算符
|
|
<> == != |
操作符比較
|
|
= %= /= //= -= += *= **= |
賦值運算符
|
|
is is not |
操作符標識
|
|
in not in |
操作符成員
|
|
not or and |
邏輯運算符
|
上一篇:
Python3變數類型
下一篇:
Python3決策