Python bool() 函数

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
False

bool() 最佳实践

在实际开发中,小伙伴们应该遵循以下最佳实践。

  • 避免显式使用 bool() 转换:比如 “if x:” 比 “if bool(x):” 更符合 Python 惯用写法。
  • 谨慎处理自定义类型:明确定义 __bool__() 方法,从而避免意外行为。
  • 类型检查优先原则:需要严格类型判断时应使用 isinstance(),而非依赖布尔转换。

上一篇: float()

下一篇: str()

给站长反馈

绿叶网正在不断完善中,小伙伴们如果发现任何问题,还望多多给站长反馈,谢谢!

邮箱:lvyenet@vip.qq.com

「绿叶网」服务号
绿叶网服务号放大
关注服务号,微信也能看教程。
绿叶网服务号