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()不会被调用)