5.1 型別 bool
在 Python 中有一個特殊的 布林資料型別,可以用來檢查條件和表達式的真實性。它用關鍵字 bool 表示(雖然其實叫做 Boolean),用於表示兩個值之一:True (真) 或 False (假)。
這種資料型別在程式設計中極其有用,可以通過條件運算符來控制程式的執行順序,如 if、else 和 elif,以及用來控制循環和其他控制結構。
重要提醒
在 Python 中,布林資料型別由兩個常量物件表示:True 和 False。不過需要注意的是,Python 將 True 看作數值 1,而 False 看作數值 0。這使得在算術運算中可以使用這些值,使得型別 bool 成為型別 int 的子類別。
實際應用
儘管僅有兩個可能的值,但 bool 型別 的強大之處不在於其值,而在於可以對它們進行的邏輯運算操作,我們下一個會談到。
5.2 邏輯運算子
在 Python 中,邏輯運算在控制程式執行順序和決策中扮演著重要角色。主要的邏輯運算包括 and、or 和 not。理解它們的運用可以顯著提升你的代碼效率。
邏輯且 (AND)
運算子 and 只有在兩個參數都為真 (True) 時才返回 True。這個運算子經常用來同時檢查多個條件的真實性。
a = True
b = False
print(a and b) # 輸出: False
邏輯或 (OR)
運算子 or 如果至少有一個參數為真 就返回 True。這對於需要滿足多個可能條件之一時使程式繼續執行的情況很有用。
a = True
b = False
print(a or b) # 輸出: True
邏輯非 (NOT)
運算子 not 會反轉其參數的布林值。如果參數是 True, 結果將是 False,反之亦然。這可以用來創建拒絕條件。
a = True
print(not a) # 輸出: False
擴展使用
邏輯運算子常用於組合來創建複雜的條件表達式,這有助於控制更複雜的程式執行流程。
a = 5
b = 10
c = 20
result = a < b and b < c # 檢查 a 是否小於 b 以及 b 是否小於 c
print(result) # 輸出: True
Python 中的邏輯運算提供了一個強大的工具,用於根據不同條件控制程式的行為。它們不僅簡化了代碼的編寫,還使代碼更具可讀性和可維護性。
5.3 實用範例
Python 允許通過 bool() 函數將其他類型資料轉換為布林型別。 預設情況下,任何非零或非空值將被轉換為 True,而零或空值將被轉換為 False。
類型轉換範例:
print(bool(0)) # 輸出: False
print(bool(42)) # 輸出: True
print(bool("")) # 輸出: False
print(bool("Text")) # 輸出: True
在條件中使用布林變數:
a = 5
b = 10
c = 20
is_a_min = a < b and a < c # 檢查 a 是否小於 b 及 a 是否小於 c
print(is_a_min) # 輸出: True
不必將布林變數與 True 或 False 比較,因為比較結果本身就是 True 或 False。 範例:
| 原始代碼 | 將原始代碼提取到單獨變數 | 去除 == True |
|---|---|---|
|
|
|
任何比較的結果都是 True 或 False,所以可以將比較結果賦值給變數,如上範例所示。但在 if 條件或 while 循環中,不需要與 True 比較。 布林變數已經包含正確的值。只需要賦予它一個正確的名稱,所有事情就會理所當然地解決。
換句話說,與其寫「if a == True:」,只需寫「if a:」。而不是寫「if a == False:」,寫「if not a:」。
GO TO FULL VERSION