多分支判断可用if-elif-else、字典映射、match-case(Python 3.10+)或条件列表结合next()实现,根据场景选择更简洁高效的方式。

Python 中处理多分支条件判断时,除了使用多个 if-elif-else 结构外,还有更简洁、清晰的写法。下面介绍几种常见的多分支实现方式。
1. 使用 if-elif-else 链
这是最基础也是最常用的多分支结构,适合条件明确且数量不多的情况。示例:
x = 2注意:条件从上到下依次判断,一旦某个条件为真,其余分支将不再执行。
if x == 1:
print("选项一")
elif x == 2:
print("选项二")
elif x == 3:
print("选项三")
else:
print("其他")
2. 使用字典映射函数或值
当分支较多且逻辑简单时,可以用字典代替多个 elif,提高可读性和性能。示例:用字典映射返回值
def get_grade(score):
return {
'A': '优秀',
'B': '良好',
'C': '及格',
'D': '不及格'
}.get(score, '未知')
示例:映射函数
def handle_a():
return "处理 A"
def handle_b():
return "处理 B"
actions = {
'a': handle_a,
'b': handle_b,
'c': lambda: "处理 C"
}
result = actions.get('a', lambda: "默认处理")()
print(result)
立即学习“Python免费学习笔记(深入)”;
3. 使用 match-case(Python 3.10+)
Python 3.10 引入了模式匹配 match-case,语法更接近传统 switch-case。示例:
x = 'blue'支持复杂模式匹配,如元组、类实例等,但对简单多分支已足够强大。
match x:
case 'red':
print("红色")
case 'green':
print("绿色")
case 'blue':
print("蓝色")
case _:
print("未知颜色")
4. 使用列表或元组包含条件表达式
适用于返回固定值的简单判断,可以结合 next() 和生成器使用。示例:通过条件列表查找第一个匹配项
x = 75这种写法紧凑,适合数值区间判断等场景。
result = next(
msg for condition, msg in [
(x >= 90, "优秀"),
(x >= 70, "良好"),
(x >= 60, "及格")
] if condition
, "不及格")
print(result) # 输出:良好
基本上就这些常用方法。根据 Python 版本和具体需求选择合适的方式,能让代码更清晰高效。










