使用字典代替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,在上面的方法中,我们可以抒写更复杂的表达式

    原文作者:海贼之路飞
    原文地址: https://www.jianshu.com/p/dbc58074508b
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞