MST

星途 面试题库

面试题:Python 中模拟 switch case 语句的常规实现方法

在 Python 中,并没有原生的 switch case 语句。请描述至少两种模拟 switch case 语句的常见实现方式,并给出简单代码示例。
48.6万 热度难度
编程语言Python

知识考点

AI 面试

面试题答案

一键面试

方式一:使用字典映射

通过创建一个字典,将可能的匹配值作为键,对应的处理函数或值作为值。当需要进行类似 switch case 的操作时,通过字典的键来获取对应的处理逻辑。

def case_1():
    return "This is case 1"


def case_2():
    return "This is case 2"


def default():
    return "Default case"


switcher = {
    1: case_1,
    2: case_2
}


def switch(case):
    return switcher.get(case, default)()


print(switch(1))
print(switch(3))

方式二:使用 if - elif - else 语句

这是一种最直接模拟 switch case 的方式,通过一系列 if - elif 条件判断来实现类似的功能。

case = 2
if case == 1:
    print("This is case 1")
elif case == 2:
    print("This is case 2")
else:
    print("Default case")