寻求Python中替代重复if判断的特性(对应C#同类功能)
Python中替代重复if语句的方案
你说的C#里简化重复if的特性是switch语句,在Python 3.10及更高版本中,有对应的match-case模式匹配语法,能实现你想要的代码简化效果。
原代码:
if option == 1: print("1") if option == 2: print("2") if option == 3: print("3")
用match-case改写后的代码:
match option: case 1: print("1") case 2: print("2") case 3: print("3")
如果你的Python版本低于3.10,没法使用match-case,还可以用字典映射的方式实现类似逻辑:
# 定义选项对应的操作 action_map = { 1: lambda: print("1"), 2: lambda: print("2"), 3: lambda: print("3") } # 执行对应操作,默认不做任何事 action_map.get(option, lambda: None)()
内容的提问来源于stack exchange,提问作者RTF
相关产品推荐
相关产品推荐

