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,最后处理正数。