Python switch语句的巧妙实现

时间:2022-06-01 18:06:38

在其他一些语言里,如Java,C等,它们提供了switch语句来根据提供的值返回不同的结果。而在python里是没有类似的语句。

基本实现

使用Python的字典可以很简单实现switch语句的功能。

def f(x):
return {
'a': 1,
'b': 2,
}[x]

switch的default值

结合get()返回默认值:

def f(x):
return {
'a': 1,
'b': 2
}.get(x, 10)

如果没找到,返回默认值10。

使用函数计算返回值

可以定义函数来计算返回值:

result = {
'a': lambda x: x * 5,
'b': lambda x: x + 7,
'c': lambda x: x - 2
}[value](x)