使用字典代替switch

日常工作中很少使用switch(一般都是if...elif...else)今天我们看一下如何使用字典代替switch:

首先看switch代码:

switch(day):
{
    case 0:
        dayName = "Sunday";
        ...
        ...
        break;
    case 1:
        dayName = "Monday";
        break;
    case 2:
        dayName = "Tuesday";
        break;
    ...
    default:
        dayName = "Unknown";
        break;
}

注意:switch中可能存在代码块,我们尽量不要在switch中使用代码块,可以使用函数方法代替

使用字典代替:

day = 6

def get_sunday():
    return 'Sunday'

def get_monday():
    return 'Monday'

def get_tuesday():
    return 'Tuesday'

def get_default():
    return  'Unknown'

switcher = {
    0 : get_sunday,
    1 : get_monday,
    2 : get_tuesday,

}

dayName = switcher.get(day, get_default)()

以上就是使用字典映射代替switch,在上面的方法中,我们可以抒写更复杂的表达式

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,007评论 25 709
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,107评论 19 139
  • Python简介 Python历史 Python 是由 Guido van Rossum 在八十年代末和九十年代初...
    莫名其妙的一生阅读 1,077评论 0 2
  • 学生时期的我时常幻想着未来老公是个怎样的人? 1米8的身高,爱好打篮球,阳光帅气... 我想这应该是多数女生的幻想...
    阿蜜儿阅读 150评论 0 1