Python bool() 语法
bool() 是 Python 的一个内置函数,它用于返回某个对象对应的布尔值。
语法:
bool(obj)说明:
bool() 函数接收单个参数。
obj(可选):任意 Python 对象。我们都知道,Python 一切皆对象,像数字、字符串等也是对象。若未提供参数,默认返回 False。
注意:
- 所有空值都会返回 False,包括 False、None、0、0.0、0j、空字符串''、空列表 []、空元组 ()、空字典 {}、空集合 set() 等。
- 所有非空值都会返回 True(但自定义对象可通过 __bool__() 或 __len__() 方法改变此行为)。
- 此外还需要注意特殊值,比如 '0'、'False' 等非空字符串仍返回 True。
Python bool() 摘要
| 使用频率 | 高 |
|---|---|
| 官方文档 | 查看 |
| 相关函数 | int()、float()、complex() |
Python bool() 示例
接下来,我们通过几个简单的例子来讲解一下 Python bool() 函数是如何使用的。
示例 1:bool() 判断空值
print(bool(False)) # False 值
print(bool(None)) # None 值
print(bool(0)) # 0
print(bool([])) # 空列表
print(bool(())) # 空元组
print(bool('')) # 空字符串
print(bool({})) # 空字典
print(bool(set())) # 空集合运行结果如下。
False
False
False
False
False
False
False
False示例 2:bool() 判断非空值
print(bool(True)) # True 值
print(bool(666)) # 数字
print(bool(['红', '绿', '蓝'])) # 列表
print(bool(('红', '绿', '蓝'))) # 元组
print(bool('绿叶网')) # 字符串
print(bool({'Jack': 101, 'Lucy':102})) # 字典
print(bool({'红', '绿', '蓝'})) # 集合运行结果如下。
True
True
True
True
True
True
True示例 3:bool() 特殊场景
# 特殊字符串验证
print(bool('False')) # True → 非空字符串
print(bool('0')) # True → 非空字符串
# 自定义类行为
class CustomBool:
def __bool__(self):
return False
class CustomLen:
def __len__(self):
return 0
print(bool(CustomBool())) # False → 自定义 __bool__ 返回 False
print(bool(CustomLen())) # False → __len__ 返回 0运行结果如下。
True
True
False
Falsebool() 最佳实践
在实际开发中,小伙伴们应该遵循以下最佳实践。
- 避免显式使用 bool() 转换:比如 “if x:” 比 “if bool(x):” 更符合 Python 惯用写法。
- 谨慎处理自定义类型:明确定义 __bool__() 方法,从而避免意外行为。
- 类型检查优先原则:需要严格类型判断时应使用 isinstance(),而非依赖布尔转换。
