发布于 2年前

Python switch语句的巧妙实现

在其他一些语言里,如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)
©2020 edoou.com   京ICP备16001874号-3