Python控制結構入門必學(4)運算子優先順序一覽
想知道更多關於Python控制結構的相關知識,今天要講的運算子優先順序你也不能錯過!
運算子優先順序(operator precedence)在包含 Python 及其他的程式語言都是很重要的概念。它是數學運算順序(如先乘除後加減)概念的延伸,並包含其的他運算子如布林運算子等。
在Python課程提供的表格中,列出了 Python 的運算子的優先順序,優先順序由高至低如下:
| ** | 指數 (最高優先順序),範例:2**3 = 8 | 
| ~< | 補數 | 
| + - | 正數 負數 | 
| * / // % | 乘 除 地板除法(只取整數的除法) 餘數 | 
| + - | 加法 減法 | 
| >> << | 右移 左移 | 
| & | 與 | 
| ^ | XOR | 
| | | OR | 
| in not in is is not > < >= <= != == | 比較運算子 | 
| not x | 布林值:不(NOT) | 
| and | 布林值:和(AND) | 
| or | 布林值:或(OR) | 
Python 的運算子的優先順序,可由以下例子練習:
16 - 2 * 5 // 3 + 1
結果如下:
14
解析:上例首先計算 2 * 5 得到 10,然後是 10 // 3 得到值 3 (此為忽略餘數的地板除法,所以無小數點),然後計算 16 - 3 + 1 得到 14。
又如下例,結果會如何?
x = 4
y = 2
if not 1 + 1 == y or x == 4 and 7 == 8:
  print("Yes")
elif x > y:
print("No")
結果顯示如下:
No
延伸閱讀:
要學程式設計課程拉!但Java跟Python到底哪個好?(下)
人工智慧寫「不想消滅人類」登《衛報》……記者將被 AI 取代?

 
 
