在 Python 程式設計中,布林值 (bool) 是一種非常基本但重要的資料型別,用於表示真 (True) 或假 (False) 兩種狀態。本文將詳細介紹 Python 布林值的定義、邏輯運算、比較運算、型別轉換,以及在條件判斷和迴圈控制中的應用。
什麼是布林值 (bool)?
布林值是只有兩種可能值的資料型別:
True
: 表示真、成立、是。False
: 表示假、不成立、否。
在 Python 中,布林值屬於 bool
型別。
# 布林值範例
is_valid = True
is_empty = False
print(type(is_valid)) # 輸出: <class 'bool'>
重要觀念: True
和 False
是 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)
比較運算用於比較兩個值,結果為布林值 (True
或 False
):
==
(等於)!=
(不等於)<
(小於)>
(大於)<=
(小於或等於)>=
(大於或等於)
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 程式碼至關重要。