Files
coding-mentor-agent/kb/python-course-kb-practical-python/wiki/concepts/Python-真值测试.md
T

1.4 KiB

sources, brief
sources brief
summaries/01_Datatypes.md
summaries/03_Numbers.md
Python 真值测试说明对象在 if、while、and、or 等布尔上下文中如何被判定为真或假。

Python 真值测试

概念定义

真值测试是 Python 在条件语句中判断对象“真”或“假”的规则。if value: 不要求 value 必须是 bool;Python 会按对象自身的真值规则解释它。

这个主题连接 concepts/None-与缺失值、concepts/变量与数据类型、concepts/Python-容器 和 concepts/异常处理。

常见假值

以下对象在布尔上下文中为假:

  • None
  • False
  • 数字零,例如 0、0.0
  • 空字符串 ""
  • 空列表 []
  • 空元组 ()
  • 空字典 {}
  • 空集合 set()

其他大多数对象为真。

字符串不是语义解析

bool("False")   # True
bool("0")       # True
bool("")        # False

bool() 不会理解字符串内容的自然语言含义。非空字符串为真,即使它的文本是 "False"。

条件判断中的设计

if value is None:
    ...

当你想检测“缺失值”时,通常应明确使用 is None,而不是 if not value:。后者会把 0、空字符串和空容器也当作假。

相关概念