文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>Python的switch…case语法

Python的switch…case语法

时间:2009-06-01  来源:hkebao

Monday, November 17, 2008 16:22 | Author: Mac | Tags: Example, Python

Python没有switch…case的语法,不过可以用Dictionary和lambda匿名函数的特性来写出同样优雅的代码,比如这段javascript代码:

switch(value){
case 1:
func1();
break;
case 2:
func2();
break;
case 3:
func3();
break;
}

等价的Python代码:

{
1: lambda: func1,
2: lambda: func2,
3: lambda: func3
}[value]()

带赋值的情况:

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

用try…catch来实现带Default的情况,不过这个形式就感觉差些了:

try:
{'option1': func1,
'option2': func2,
'option3': func3}[value]()
except KeyError:
# default action

附上google到的相关内容(评论中的讨论也值得一看):

相关阅读 更多 +
排行榜 更多 +
找茬脑洞的世界安卓版

找茬脑洞的世界安卓版

休闲益智 下载
滑板英雄跑酷2手游

滑板英雄跑酷2手游

休闲益智 下载
披萨对对看下载

披萨对对看下载

休闲益智 下载