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