1.4 KiB
1.4 KiB
sources, brief
| sources | brief | ||
|---|---|---|---|
|
Python 真值测试说明对象在 if、while、and、or 等布尔上下文中如何被判定为真或假。 |
Python 真值测试
概念定义
真值测试是 Python 在条件语句中判断对象“真”或“假”的规则。if value: 不要求 value 必须是 bool;Python 会按对象自身的真值规则解释它。
这个主题连接 concepts/None-与缺失值、concepts/变量与数据类型、concepts/Python-容器 和 concepts/异常处理。
常见假值
以下对象在布尔上下文中为假:
NoneFalse- 数字零,例如
0、0.0 - 空字符串
"" - 空列表
[] - 空元组
() - 空字典
{} - 空集合
set()
其他大多数对象为真。
字符串不是语义解析
bool("False") # True
bool("0") # True
bool("") # False
bool() 不会理解字符串内容的自然语言含义。非空字符串为真,即使它的文本是 "False"。
条件判断中的设计
if value is None:
...
当你想检测“缺失值”时,通常应明确使用 is None,而不是 if not value:。后者会把 0、空字符串和空容器也当作假。