Python - 比較運算符:初學者的友好指南

你好,有志於成為 Python 程式設計師的朋友!很高興能夠在這次令人興奮的比較運算符世界中成為你的嚮導。作為一個教了多年 Python 的人,我敢保證,掌握這些概念將在你的程式設計冒險中成為一個遊戲變數。那麼,我們一起深入探討吧!

Python - Comparison Operators

什麼是比較運算符?

想像你是一場籃球比賽的裁判。你的工作是比較分數、球員身高,甚至比賽剩下的時間。在 Python 中,比較運算符扮演著類似的角色 - 幫助我們比較值,並根據這些比較做出決策。

Python 中不同的比較運算符

讓我們從一個方便的表格開始,這裡列出了我們將要探討的所有比較運算符:

運算符 名稱 示例
== 等於 x == y
!= 不等於 x != y
> 大於 x > y
< 小於 x < y
>= 大於或等於 x >= y
<= 小於或等於 x <= y

現在,讓我們一一解析這些運算符,並通過一些有趣的示例來了解!

等於 (==) 運算符

x = 5
y = 5
print(x == y)  # 輸出:True

name1 = "Alice"
name2 = "Bob"
print(name1 == name2)  # 輸出:False

在這裡,我們在問 Python,“x 和 y 是一樣的嗎?”在第一個例子中,兩者都是 5,所以它是 True。對於名字,Alice 和 Bob 是不同的,所以它是 False。

不等於 (!=) 運算符

age1 = 25
age2 = 30
print(age1 != age2)  # 輸出:True

favorite_color = "blue"
print(favorite_color != "green")  # 輸出:True

這個運算符就像在問,“這個和那個不一樣嗎?”如果值不同,則為 True;如果它們相同,則為 False。

大於 (>) 和小於 (<) 運算符

temperature = 28
print(temperature > 25)  # 輸出:True
print(temperature < 30)  # 輸出:True

alphabet = "abc"
print("d" > alphabet)  # 輸出:True

這些運算符就像在數學中一樣工作。但注意,我們甚至可以比較字符串!Python 根據它們的字母順序進行比較。

大於或等於 (>=) 和小於或等於 (<=) 運算符

score = 85
print(score >= 80)  # 輸出:True
print(score <= 90)  # 輸出:True

print("apple" <= "banana")  # 輸出:True

這些與 > 和 < 相似,但它們也在值相等時返回 True。

浮點數的比較

比較浮點數可能會因精準度問題而棘手。讓我們看一個例子:

x = 0.1 + 0.2
y = 0.3
print(x == y)  # 輸出:False

等等,什麼?0.1 + 0.2 應該等於 0.3 呀?歡迎來到迷人的浮點數算術世界!由於電腦表示小數的方式,有時我們會得到微小的誤差。為了實際比較,我們可以使用 round() 函數或一個小的容差:

print(round(x, 1) == round(y, 1))  # 輸出:True

tolerance = 0.0001
print(abs(x - y) < tolerance)  # 輸出:True

复數的比較

Python 還允許我們使用復數!然而,直接使用 < 或 > 進行比較在數學上沒有多大意義,所以 Python 不允許這樣做:

a = 1 + 2j
b = 3 + 4j
print(a == b)  # 輸出:False
# print(a < b)  # 這會引發錯誤!

但我們可以比較它們的模:

print(abs(a) < abs(b))  # 輸出:True

布爾值的比較

布爾值很簡單 - True 被認為大於 False:

print(True > False)  # 輸出:True
print(True == 1)  # 輸出:True
print(False == 0)  # 輸出:True

這最後一點可能會讓你感到驚訝 - 在 Python 中,True 實際上等價於 1,False 等價於 0!

序列類型的比較

當比較如列表、元組或字符串之類的序列時,Python 會逐個元素地比較它們:

print([1, 2, 3] < [1, 2, 4])  # 輸出:True
print("hello" < "hello world")  # 輸出:True
print((1, 2, 3) == (1, 2, 3))  # 輸出:True

Python 從開頭開始,並比較每個元素,直到找到差異或達到結尾。

字典對象的比較

字典有點特別。你可以檢查它們是否相等,但不能使用 <, >, <= 或 >=:

dict1 = {"a": 1, "b": 2}
dict2 = {"b": 2, "a": 1}
print(dict1 == dict2)  # 輸出:True

# print(dict1 < dict2)  # 這會引發錯誤!

有趣的是,在字典中進行相等性比較時,鍵的順序並不重要。

就這樣!你剛剛完成了 Python 比較運算符的旋風之旅。記住,熟練掌握需要練習,所以不要猶豫在

Credits: Image by storyset