Python 布爾類型(Boolean)
布爾類型是Python中的基本數據類型之一,用于表示邏輯值。它只有兩個值:
True
- 表示真False
- 表示假
1. 布爾值的基本使用
# 定義布爾變量
is_active = True
is_admin = Falseprint(is_active) # 輸出: True
print(is_admin) # 輸出: False
2. 布爾類型的本質
在Python中,布爾類型實際上是整數(int)的子類:
print(issubclass(bool, int)) # 輸出: True
print(True == 1) # 輸出: True
print(False == 0) # 輸出: True
但要注意,True
和1
、False
和0
是不同的對象:
print(True is 1) # 輸出: False
print(False is 0) # 輸出: False
3. 布爾運算
Python提供了三種布爾運算符:
3.1 邏輯與 (and)
print(True and True) # 輸出: True
print(True and False) # 輸出: False
print(False and False) # 輸出: False
3.2 邏輯或 (or)
print(True or True) # 輸出: True
print(True or False) # 輸出: True
print(False or False) # 輸出: False
3.3 邏輯非 (not)
print(not True) # 輸出: False
print(not False) # 輸出: True
4. 其他類型轉換為布爾值
使用bool()
函數可以將其他類型轉換為布爾值:
# 數字
print(bool(1)) # 輸出: True
print(bool(0)) # 輸出: False
print(bool(-1)) # 輸出: True# 字符串
print(bool("Hello")) # 輸出: True
print(bool("")) # 輸出: False# 列表
print(bool([1, 2, 3])) # 輸出: True
print(bool([])) # 輸出: False# None
print(bool(None)) # 輸出: False
5. 布爾值的實際應用
5.1 條件判斷
age = 18
if age >= 18:print("成年人") # 會執行
else:print("未成年人")
5.2 while循環
count = 0
while count < 5:print(count)count += 1
5.3 簡化條件表達式
name = "Alice"
greeting = name and f"Hello, {name}"
print(greeting) # 輸出: Hello, Alicename = ""
greeting = name and f"Hello, {name}"
print(greeting) # 輸出: "" (空字符串)
6. 注意事項
- Python中布爾值的首字母必須大寫:
True
和False
,不能寫成true
或false
- 在條件判斷中,Python會將非布爾值自動轉換為布爾值進行判斷
- 布爾運算有短路特性:
and
和or
運算符會提前終止計算
# and運算短路示例
def check():print("函數被調用")return Trueprint(False and check()) # 輸出: False (check()不會被調用)