我们都知道 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,爬虫,云计算等等。或是前往编程学习网,了解更多编程技术知识。