Python 布尔类型基础
在 Python 中,布尔类型(bool)是最基本的数据类型之一,用于表示逻辑上的真与假。
它只有两个取值:True 和 False,是 int 类型的子类。
布尔对象
布尔对象。逻辑值,仅有 True 与 False 两个常量。
在数值运算中,True 等价于 1,False 等价于 0。
1. 表示方法
a = True # 布尔真值
b = False # 布尔假值
print(int(True)) # 1
print(int(False)) # 0
print(True + 5) # 6 → 等价于 1 + 5
2. 布尔运算符
Python 提供了逻辑运算符来操作布尔值:
print(True and False) # False → 与运算
print(True or False) # True → 或运算
print(not True) # False → 取反
3. 比较运算符
比较运算的结果总是布尔值:
print(5 > 3) # True
print(5 == 3) # False
print(5 != 3) # True
print(3 <= 3) # True
4. 布尔上下文
在条件语句或循环中,Python 会自动将对象转换为布尔值。
以下对象在布尔上下文中被视为 False:
- None
- False
- 数值 0(包括 0.0、0j 等)
- 空序列("", [], ())
- 空集合或字典(set(), {})
其它对象默认视为 True。
if []:
print("非空")
else:
print("空对象") # 输出此行
5. 常用函数
print(bool(0)) # False → 0 转换为 False
print(bool(3.14)) # True → 非零数为 True
print(bool("")) # False → 空字符串为 False
print(bool("hi")) # True → 非空字符串为 True
print(isinstance(True, int)) # True → bool 是 int 的子类
6. 特别说明
- bool 是 int 的子类,继承了整数的行为,但只有两个取值。
- 在数值计算中,True == 1,False == 0,但推荐在逻辑场景中使用布尔值。
- 与布尔相关的逻辑函数还包括 all() 和 any():
print(all([True, 1, "ok"])) # True → 所有元素为真
print(any([0, "", False])) # False → 全部为假
print(any([0, "", 5])) # True → 至少一个为真
- 布尔值在控制流中极为常见,例如:
items = [1, 2, 3]
if items: # 利用真值特性,非空列表为 True
print("not empty")
提示:避免写成 if flag == True:,推荐直接写成 if flag:。
小结
布尔类型 bool 是 Python 中的基础逻辑类型,仅有 True 和 False 两个值,本质上是 int 的子类(True==1,False==0)。它主要用于条件判断和逻辑运算,并在控制流中随处可见。除了常用的逻辑运算符(and、or、not),还可以结合内置函数 all() 与 any() 进行聚合判断。

