Python控制結構小學堂:運算子優先順序

Python控制結構小學堂:運算子優先順序
Python控制結構小學堂:運算子優先順序

今天要來跟大家介紹Python的運算子優先順序~還不會的同學趁現在學起來!!

運算子優先順序(operator precedence)在包含 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

 

 

更多Python或Python教學相關文章請點閱下方連結~

 

 

 

其他閱讀

人工智慧寫「不想消滅人類」登《衛報》……記者將被 AI 取代?

人工智慧、大數據、VR等2020最搶手職業榜出爐!值得你現在開始準備

人工智慧把關用藥安全!AI 藥櫃取藥、送藥、用藥更精準

人工智慧:貓是液體!NVIDIA 的 AI 創造人臉超逼真,但合成的貓都是液態

谷哥地圖利用人工智慧大升級!!預測路況不是夢!!(上)

全球最年輕的人工智慧專家~竟然五歲就開始寫程式了?!

人工智慧也凸槌?!臉部辨識系統竟分辨不出黑人女性?!(上)

Python控制結構小教室:運算子優先順序

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
~,+,- 按位翻轉、正號和負號 (最後兩個的方法名稱為「[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教學相關文章嗎?快到部落格首頁找找吧!!

 

 

 

其他閱讀

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.實作簡單的計算機