← Backend / Python / 基础专题

07_条件分支与真值

写出互斥条件,区分空值、缺失值与假值。

Python 基础专题 07:条件分支与真值

学习目标:写出互斥条件,区分空值、缺失值与假值。

核心知识

if 先检查条件,失败再检查 elif,最后可由 else 接住其余情况。一个分支执行后,其余分支跳过。条件表达式可以是布尔值,也可以由 Python 按真值规则转换:零、空字符串、空容器和 None 为假;非空字符串 "0" 为真。

score = 82
if not 0 <= score <= 100:
    result = "无效分数"
elif score >= 90:
    result = "优秀"
elif score >= 60:
    result = "及格"
else:
    result = "继续练习"
print(result)

比较内容用 ==,比较对象身份用 is。检查缺失通常用 value is None,不要用 if not value 代替,因为 0 可能是合法数量。成员检查写 x in values。短条件赋值可写 label = "通过" if ok else "未通过",但复杂分支用普通 if 更清楚。

易错点:`if x == 1 or 2` 总会得到真值;应写 `if x == 1 or x == 2`,或 `if x in (1, 2)`。

逐步理解

设计分支时先列出输入区间,再按互斥顺序排列条件。示例中的 60 分先由 score >= 90 判为假,再由 score >= 60 判为真。若先写 score >= 60,90 分以上也会进入“及格”分支。比较 None 应用 is None,这是身份判断的典型场景;不要用 == None 作为习惯写法。

动手练习

练习:把 None、0、3 分别解释为“未填写”“免费”“按数量收费”。答案要点:先判断 is None,再判断 == 0,最后处理正数。