好吧,所以我的头衔糟透了.一个例子效果更好:
input = 'check yahoo.com'
我想解析输入,使用第一个单词作为"命令",并将字符串的其余部分作为参数.这是我的非Pythonic思想编码的简单版本:
if len(input) > 0: a = input.split(' ') if a[0] == 'check': if len(a) > 1: do_check(a[1]) elif a[0] == 'search': if len(a) > 1: do_search(a[1])
我喜欢Python,因为它将通常很复杂的东西变成了相当简单的东西.我对它没有太多的经验,而且我相信有更好的方法来做这些事情...某种程度上更加诡异.我已经看到一些人用dicts和lambda函数替换switch语句的例子,而其他人只是推荐if..else嵌套.
dispatch = { 'check': do_check, 'search': do_search, } cmd, _, arg = input.partition(' ') if cmd in dispatch: dispatch[cmd](arg) else: do_default(cmd, arg)