分数等级判断的3种方案
- 方案1:多独立if判断
- 逻辑:逐一判断分数区间,满足即输出
- 缺点:条件成立后仍执行后续判断,浪费CPU资源
- 方案2:if-else嵌套
- 逻辑:不满足上一条件才进入下一判断
- 缺点:缩进层级多,代码可读性差
- 方案3:if-elif-else结构
- 逻辑:else if的简写,满足条件即终止后续判断
- 优点:简洁高效,体现Python可读性特性
Python 避免悬挂else问题
- 悬挂else定义:C语言中else按就近匹配原则,易与非目标if匹配导致bug
- Python解决方案:强制缩进规则
- 相同缩进级别对应同一层级的if-else
- 缩进不同则归属不同if,从根本上避免歧义
条件表达式(三元操作符)
- 特性:Python唯一的三元操作符(需3个操作数)
- 语法:
变量 = 值1 if 条件 else 值2 - 逻辑:条件为真→赋值值1;条件为假→赋值值2
- 优势:一行代码完成条件判断+赋值,简化代码
- 历史:Python 2.5版本加入,满足社区诉求
断言 assert 关键字
- 作用:在程序中设置检查点,确保关键条件为真
- 逻辑:条件为假→程序崩溃并抛出 AssertionError 异常
- 适用场景:测试阶段,提前暴露错误,避免后续隐藏bug
- 示例:
assert 4>3正常执行;assert 3>4触发异常