Python 布林值 (bool) 型別詳解:真假判斷、邏輯運算與應用

Python 布林值 (bool) 型別詳解:真假判斷、邏輯運算與應用

在 Python 程式設計中,布林值 (bool) 是一種非常基本但重要的資料型別,用於表示真 (True) 或假 (False) 兩種狀態。本文將詳細介紹 Python 布林值的定義、邏輯運算、比較運算、型別轉換,以及在條件判斷和迴圈控制中的應用。

什麼是布林值 (bool)?

布林值是只有兩種可能值的資料型別:

  • True: 表示真、成立、是。
  • False: 表示假、不成立、否。

在 Python 中,布林值屬於 bool 型別。


# 布林值範例
is_valid = True
is_empty = False

print(type(is_valid))  # 輸出: <class 'bool'>

重要觀念: TrueFalse 是 Python 的關鍵字 (保留字),必須以大寫字母開頭。

邏輯運算 (Logical Operators)

Python 提供了三個邏輯運算子,用於組合或修改布林值:

  • and (且): 如果兩個運算元都為 True,結果才為 True;否則為 False
  • or (或): 如果兩個運算元中有一個為 True,結果就為 True;否則為 False
  • not (非): 將運算元的值反轉 (如果為 True 則變為 False,如果為 False 則變為 True)。

x = True
y = False

print(x and y)  # 輸出: False
print(x or y)   # 輸出: True
print(not x)    # 輸出: False
print(not y)    # 輸出: True

# 複雜的邏輯運算
a = True
b = False
c = True
print((a and b) or (not c))  # 輸出: False

比較運算 (Comparison Operators)

比較運算用於比較兩個值,結果為布林值 (TrueFalse):

  • == (等於)
  • != (不等於)
  • < (小於)
  • > (大於)
  • <= (小於或等於)
  • >= (大於或等於)

a = 10
b = 5

print(a == b)  # 輸出: False
print(a != b)  # 輸出: True
print(a < b)   # 輸出: False
print(a > b)   # 輸出: True
print(a <= 10) # 輸出: True
print(a >= 10) # 輸出: True

其他型別轉換為布林值

在 Python 中,可以使用 bool() 函數將其他型別的值轉換為布林值。以下是一些轉換規則:

  • 數字: 0 (整數或浮點數) 會被轉換為 False,其他非零數字會被轉換為 True
  • 字串: 空字串 ("") 會被轉換為 False,其他非空字串會被轉換為 True
  • 串列、元組、字典、集合: 空的容器 (例如 [], (), {}, set()) 會被轉換為 False,其他非空容器會被轉換為 True
  • None: 會被轉換為 False

print(bool(0))         # 輸出: False
print(bool(10))        # 輸出: True
print(bool(0.0))       # 輸出: False
print(bool(3.14))      # 輸出: True

print(bool(""))        # 輸出: False
print(bool("Hello"))   # 輸出: True

print(bool([]))        # 輸出: False
print(bool([1, 2]))   # 輸出: True

print(bool(None))      # 輸出: False

布林值的應用

布林值在程式設計中主要用於控制流程:

1. 條件判斷 (if-else):


age = 20
if age >= 18:
    print("成年")
else:
    print("未成年")

2. 迴圈控制 (while, for):


# while 迴圈
count = 0
while count < 5:
    print(count)
    count += 1

# for 迴圈 (通常不需要直接使用布林值,但迭代的物件可以是布林值)
my_list = [True, False, True, True]
for value in my_list:
    if value:
        print("Found True")

總結

Python 的布林值 (bool) 型別是一種簡單但重要的資料型別,用於表示真假值。瞭解布林值的邏輯運算、比較運算、型別轉換規則,以及在條件判斷和迴圈控制中的應用,對於編寫 Python 程式碼至關重要。

張貼留言

較新的 較舊