Python 簡易手冊

單元 13 - 比較運算子

比較運算子 (comparison operator) 如下列表

種類運算子
大於>
大於等於>=
小於<
小於等於<=
相同數值==
不相同數值!=
相同物件is
不相同物件is not

比較物件是否相同的 is 運算子會在單元 18 - is 運算子介紹。

比較運算子用於比較數值 (value) 大小或是數值是否相等,結果回傳 TrueFalse,例如

 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) 所用的預設內建方法。

參考資料

上一頁 單元 12 - 算術運算子
回 Python 簡易手冊 首頁
下一頁 單元 14 - 指派陳述與指派運算式
回 Python 教材首頁
回程式語言教材首頁