Python 簡易手冊
單元 13 - 比較運算子
比較運算子 (comparison operator) 如下列表
種類 | 運算子 |
---|---|
大於 | > |
大於等於 | >= |
小於 | < |
小於等於 | <= |
相同數值 | == |
不相同數值 | != |
相同物件 | is |
不相同物件 | is not |
比較物件是否相同的 is 運算子會在單元 18 - is 運算子介紹。
比較運算子用於比較數值 (value) 大小或是數值是否相等,結果回傳 True 或 False,例如
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | # 進行兩個數字比較 print(33 > 25) # 進行三個數字比較 print(33 >= 25 > 35) # 進行兩個數字比較 print(33 < 25) # 進行三個數字比較 print(53 > 43 < 50) # 檔名: compare_demo.py # 說明: 《Python簡易手冊》的範例 # 網址: http://kaiching.org # 作者: Kaiching Chang # 時間: 2024 年 3 月 |
第 2 行進行兩個數字比較,判斷 33 是否大於 25
1 2 | # 進行兩個數字比較 print(33 > 25) |
第 5 行進行連續三個數字比較,判斷 33 是否大於等於 25 ,然後 25 是否大於 35
4 5 | # 進行三個數字比較 print(33 >= 25 > 35) |
Python 允許用比較運算子中直接連續比較多個數值,以上第 5 行的等於底下用布林預算子 (Boolean operator) and 連接前後兩個比較運算式
| print(33 >= 25 and 25 > 35) |
布林運算子在單元 11 - 布林運算子介紹。
同樣第 13 行先比較 53 是否大於 43 ,然後比較 43 是否小於 50 ,此例執行結果如下
> python compare_demo.py |
True False False True |
> |
比較運算子也可以用在複合資料型態 (compound data type) ,例如以下字串 (string) 跟串列 (list)
1 2 3 4 5 6 7 8 9 10 11 | # 比較第一個字母數值大小 print("cd" > "ab") # 比較第二個元素數值大小 print([3, 3] <= [3, 5]) # 檔名: compare_demo2.py # 說明: 《Python簡易手冊》的範例 # 網址: http://kaiching.org # 作者: Kaiching Chang # 時間: 2024 年 3 月 |
單元 33 - 字串會詳細介紹字串的定義及用法,單元 39 - 串列會詳細介紹串列的定義及用法。
第 2 行,字串是逐字元比較 Unicode 值,由於 "c" 的 Unicode 值大於 "a" ,所以這裡會得到 True
1 2 | # 比較第一個字母數值大小 print("cd" > "ab") |
第 5 行,串列逐元素比較大小,這裡由於第一個元素相等,所以會比較第二個元素
4 5 | # 比較第二個元素數值大小 print([3, 3] <= [3, 5]) |
此例執行結果如下
> python compare_demo2.py |
True True |
> |
最後看到比較相等及不相等,如果是複合資料型態則會逐一比較每一個元素是否相等,舉例如下
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | # 判斷兩個數值是否相同 print(22 == 22) # 判斷兩個數值是否不相同 print("122" != "123") # 判斷兩個串列的元素是否相同 print([5, 6] == [5, 6]) # 判斷兩個字典的元素是否相同 print({1:1, 2:2} == {1:1, 3:2}) # 檔名: compare_demo3.py # 說明: 《Python簡易手冊》的範例 # 網址: http://kaiching.org # 作者: Kaiching Chang # 時間: 2024 年 3 月 |
注意到第 11 行,比較字典 (dictionary) 是否有相同的內容,需要每一組 key:value 都相同
10 11 | # 判斷兩個字典的元素是否相同 print({1:1, 2:2} == {1:1, 3:2}) |
單元 42 - 集合會詳細介紹字典的定義及用法。
此例執行結果如下
> python compare_demo3.py |
True True True False |
> |
資料型態 (data type) 能否用比較大小的運算子,需要有定義內建方法 (method) __lt__() 、 __le__() 、 __gt__() 、 __ge__() ,至於如何判斷相等則是需要定義內建方法 __eq__() 及 __ne__() 。
單元 54 - 類別會介紹如何定義類別,單元 60 - 資料類別與資料模型會介紹 Python 的資料模型 (data model) ,也就是設計 Python 物件 (object) 所用的預設內建方法。