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 取代?