当前位置:  开发笔记 > 编程语言 > 正文

"Pythonic"等效于处理开关和多字符串比较

如何解决《"Pythonic"等效于处理开关和多字符串比较》经验,为你挑选了1个好方法。

好吧,所以我的头衔糟透了.一个例子效果更好:

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嵌套.



1> Markus Jarde..:
dispatch = {
  'check': do_check,
  'search': do_search,
}
cmd, _, arg = input.partition(' ')
if cmd in dispatch:
    dispatch[cmd](arg)
else:
    do_default(cmd, arg)

推荐阅读
依然-狠幸福
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有