Site Loader
快樂學會Python中控制結構(4)-運算子優先順序
快樂學會Python中控制結構(4)-運算子優先順序

Python的控制結構有許多小技巧,今日就是要教你何謂運算子的優先順序哦!

運算子優先順序(operator precedence)在包含 Python 以及其他的程式語言都是非常重要的概念。它是屬於數學運算順序(如先乘除後加減)概念的延伸,其中也包含其的他運算子,如布林邏輯中的運算子等等。

下方例子顯示出 「==」比起其他的運算子,順序更為優先:

>>> False == False or True
True
>>> False == (False or True)
False
>>> (False == False) or True
True

下方表中列出了 Python教學常見的運算子的優先順序,優先順序由高至低如下:

** 指數 (最高優先順序),範例:2**3 = 8
~,+,- 按位翻轉、正號和負號 (最後兩個的方法名稱為「[email protected]」和「[email protected]」)
*,/,%,// 乘、除、餘數 地板除法(只取整數的除法)
+,- 加法、減法
>>,<< 右移、左移運算子
& 位元運算子的「與」
^ | 位元運算子的「XOR」、「OR」
in, not in, is, is not, >, <, >=, <=, !=, == 各式比較運算子(關係運算子)
not 布林運算子「not
and 布林運算子「and
and 布林運算子「or
= %= /= //= -= = *= **= 各式賦值運算子

Python 的運算子的優先順序,可藉由以下的例子練習。猜猜看以下 Python 原始碼的結果會如何呢?

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)

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *