Python与C++不同,并没有提供switch…case语句。
Python 官方文档大概的意思是,你可以用if..elif..elif..else
来实现同样的功能,所以似乎就没必要加入switch…case了。
参考:官方文档-Why isn’t there a switch or case statement in Python?
如果一定要实现,可以采用如下的方式
1 | def case1(somearg): |
代码实现参考知乎-徐辰的回答-Python中为什么没有switch语法结构,有什么代替方案吗?
因为Python中一切皆对象,所以函数名(e.g. case1)其实是一个指向该函数对象的指针, 所以可以直接写入到switch这个dict中。