Python 中实现 switch 语句

304 阅读1分钟

我们都知道 Python 原生语法中不支持 switch 语句。当然 Python 这么灵活的语法,我们自己实现一个也比较容易。代码如下:

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

这样实现稍微有些不完备,没有默认值,且如果参数不在字典中会报错。我们更新一版如下:

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

这样实现看起来比较理想了,我们还可以用 Lambda 表达式实现复杂计算,例如:

def f3(x):  return {      'a': lambda x: x * 5,      'b': lambda x: x + 7,      'c': lambda x: x - 2  }.get(x, lambda x: x)

这样看来,用 Python 实现 switch 语句还是非常方便的。 猜测 Python 原生之所以不支持 switch 语法是因为 Python 语言本身已经很灵活了,不需要额外提供 switch 语句增加语言本身的臃肿。真是应了那句话,人生苦短,我用 Python。

以上就是本次分享的所有内容,如果你觉得文章还不错,欢迎关注公众号:Python编程学习圈,每日干货分享,内容覆盖Python电子书、教程、数据库编程、Django,爬虫,云计算等等。或是前往编程学习网,了解更多编程技术知识。