CodeGym /Java Course /Python SELF TW /處理布林型別

處理布林型別

Python SELF TW
等級 5 , 課堂 5
開放

5.1 型別 bool

在 Python 中有一個特殊的 布林資料型別,可以用來檢查條件和表達式的真實性。它用關鍵字 bool 表示(雖然其實叫做 Boolean),用於表示兩個值之一:True (真)False (假)

這種資料型別在程式設計中極其有用,可以通過條件運算符來控制程式的執行順序,如 ifelseelif,以及用來控制循環和其他控制結構。

重要提醒

在 Python 中,布林資料型別由兩個常量物件表示:TrueFalse。不過需要注意的是,Python 將 True 看作數值 1,而 False 看作數值 0。這使得在算術運算中可以使用這些值,使得型別 bool 成為型別 int 的子類別。

實際應用

儘管僅有兩個可能的值,但 bool 型別 的強大之處不在於其值,而在於可以對它們進行的邏輯運算操作,我們下一個會談到。

5.2 邏輯運算子

在 Python 中,邏輯運算在控制程式執行順序和決策中扮演著重要角色。主要的邏輯運算包括 andornot。理解它們的運用可以顯著提升你的代碼效率。

邏輯且 (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

不必將布林變數與 TrueFalse 比較,因為比較結果本身就是 TrueFalse。 範例:

原始代碼 將原始代碼提取到單獨變數 去除 == True

if a < b:
    print("a 是最小的")

                    is_a_less = a < b
                    if is_a_less == True:
                        print("a 是最小的")              
                

                    is_a_less = a < b
                    if is_a_less:
                        print("a 是最小的")               
                

任何比較的結果都是 TrueFalse,所以可以將比較結果賦值給變數,如上範例所示。但在 if 條件或 while 循環中,不需要與 True 比較。 布林變數已經包含正確的值。只需要賦予它一個正確的名稱,所有事情就會理所當然地解決。

換句話說,與其寫「if a == True:」,只需寫「if a:」。而不是寫「if a == False:」,寫「if not a:」。

留言
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION