Python不藏私大公開,教你怎麼分辨運算子的優先順序!看起來一點也不難呢~
在Python教學中運算子先後順序(operator precedence)在包含 Python 以及其他的程式語言都是很重要的概念。它是數學運算順序(如先乘除後加減)概念的延伸,並包含其的他運算子,如布林邏輯中的運算子等。 下方例子顯示出 「==」比起其他的運算子,順序更為優先:
Python 的運算子的優先順序,可以透過以下例子練習。猜猜看以下 Python 原始碼的結果會如何?
在Python教學中運算子先後順序(operator precedence)在包含 Python 以及其他的程式語言都是很重要的概念。它是數學運算順序(如先乘除後加減)概念的延伸,並包含其的他運算子,如布林邏輯中的運算子等。 下方例子顯示出 「==」比起其他的運算子,順序更為優先:
>>> False == False or True True >>> False == (False or True) False >>> (False == False) or True True下方表中列出了 Python教學 的運算子的優先順序,優先順序由高至低如下:
** | 指數 (最高優先順序),範例:2**3 = 8 |
~,+,- | 按位翻轉、正號和負號 (最後兩個的方法名稱為「+@」和「-@」) |
*,/,%,// | 乘、除、餘數 地板除法(只取整數的除法) |
+,- | 加法、減法 |
>>,<< | 右移、左移運算子 |
& | 位元運算子的「與」 |
^ | | 位元運算子的「XOR」、「OR」 |
in, not in, is, is not, >, <, >=, <=, !=, == | 各式比較運算子(關係運算子) |
not | 布林運算子「not」 |
and | 布林運算子「and」 |
and | 布林運算子「or」 |
= %= /= //= -= = *= **= | 各式賦值運算子 |
x = 4 y = 2 if not 1 + 1 == y or x == 4 and 7 == 8: print("Yes") elif x > y: print("No")結果顯示的結果如下:
>>> No >>>
推薦閱讀:
Python控制結構1.布林值Boolean-True or False?
Python控制結構2.if else條件判斷(1)
Python控制結構2.if else條件判斷(2)
Python控制結構3.布林邏輯:and,or,not
Python控制結構4.運算子優先順序(Operator precedence)一覽
Python控制結構5.while 迴圈
Python控制結構7.List串列與其他運算子的應用
Python控制結構8.List-append,insert,index,len函數
Python控制結構9.Range數列生成
Python控制結構10.for迴圈
Python控制結構11.實作簡單的計算機