Python基本運算子


運算子是可以操縱運算元值的結構。如下一個表示式:10 + 20 = 30。這裡,1020稱為運算元,+則被稱為運算子。

運算子型別

Python語言支援以下型別的運算子 -

  • 1.算術運算子
  • 2.比較(關係)運算子
  • 3.賦值運算子
  • 4.邏輯運算子
  • 5.按位元運算子
  • 6.成員運算子
  • 7.身份運算子

下面讓我們依次來看看所有的運算子。

1.算術運算子

假設變數a的值是10,變數b的值是21,則 -

運算子 描述 範例
+ 加法運算,將運算子兩邊的運算元增加。 a + b = 31
- 減法運算,將運算子左邊的運算元減去右邊的運算元。 a – b = -11
* 乘法運算,將運算子兩邊的運算元相乘 a * b = 210
/ 除法運算,用右運算元除左運算元 b / a = 2.1
% 模運算,用右運算元除數左運算元並返回餘數 b % a = 1
** 對運算子進行指數(冪)計算 a ** b,表示1021次冪
// 地板除 - 運算元的除法,其結果是刪除小數點後的商數。 但如果其中一個運算元為負數,則結果將被保留,即從零(向負無窮大)捨去 9//2 = 49.0//2.0 = 4.0, -11//3 = -4, -11.0//3 = -4.0

有關算術運算子的範例程式碼,請參考::/25/12885.html

2.比較(關係)運算子

比較(關係)運算子比較它們兩邊的值,並確定它們之間的關係。它們也稱為關係運算子。假設變數a的值10,變數b的值是20,則 -

運算子 描述 範例
== 如果兩個運算元的值相等,則條件為真。 (a == b)求值結果為 false
!= 如果兩個運算元的值不相等,則條件為真。 (a != b)求值結果為 true
> 如果左運算元的值大於右運算元的值,則條件成為真。 (a > b)求值結果為 false
< 如果左運算元的值小於右運算元的值,則條件成為真。 (a < b)求值結果為 true
>= 如果左運算元的值大於或等於右運算元的值,則條件成為真。 (a >= b)求值結果為 false
<= 如果左運算元的值小於或等於右運算元的值,則條件成為真。 (a <= b)求值結果為 true

有關比較(關係)運算子的範例程式碼,請參考:/25/12886.html

3.賦值運算子

假設變數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

有關賦值運算子的範例程式碼,請參考:/25/12887.html

4.邏輯運算子

Python語言支援以下邏輯運算子。假設變數a的值為True,變數b的值為False,那麼 -

運算子 描述 範例
and 如果兩個運算元都為真,則條件成立。 (a and b)的結果為False
or 如果兩個運算元中的任何一個非零,則條件成為真。 (a or b)的結果為True
not 用於反轉運算元的邏輯狀態。 not(a and b) 的結果為True

有關邏輯運算子的範例程式碼,請參考:/25/12888.html

5.按位元運算子

按位元運算子執行逐位運算。 假設變數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 0011的二補數形式。
<< 二進位制左移,左運算元的值由右運算元指定的位數左移。 a << 2 = 240 (結果表示為 1111 0000)
>> 二進位制右移,左運算元的值由右運算元指定的位數右移。 a >> 2 = 15(結果表示為0000 1111)

有關按位元運算子的範例程式碼,請參考:/25/12889.html

6.成員運算子

Python成員運算子測試給定值是否為序列中的成員,例如字串,列表或元組。 有兩個成員運算子,如下所述 -

運算子 描述 範例
in 如果在指定的序列中找到一個變數的值,則返回true,否則返回false -
not in 如果在指定序列中找不到變數的值,則返回true,否則返回false -

有關成員運算子的範例程式碼,請參考:/25/12890.html

7.身份運算子

身份運算子比較兩個物件的記憶體位置。常用的有兩個身份運算子,如下所述 -

運算子 描述 範例
is 如果運算子任一側的變數指向相同的物件,則返回True,否則返回False
is not 如果運算子任一側的變數指向相同的物件,則返回True,否則返回False -

有關身份運算子的範例程式碼,請參考:/25/12891.html

8. 運算子優先順序

下表列出了從最高優先順序到最低優先順序的所有運算子,如下所示 -

序號 運算子 描述
1 ** 指數(次冪)運算
2 ~ + - 二補數,一元加減(最後兩個的方法名稱是+@-@)
3 * / % // 乘法,除法,模數和地板除
4 + -
5 >> << 向右和向左位移
6 & 按位元與
7 ^ 按位元互斥或和常規的「OR
8 <= < > >= 比較運算子
9 <> == != 等於運算子
10 = %= /= //= -= += *= **= 賦值運算子
11 is is not 身份運算子
12 in not in 成員運算子
13 not or and 邏輯運算子

有關運算子優先順序的範例程式碼,請參考:/25/12892.html