在Python中建立案例语句

2024-10-01 15:32:04 发布

您现在位置:Python中文网/ 问答频道 /正文

因此,我试图为python脚本创建一个case语句,以使其更清晰,但是没有这样的东西(据我所知),所以我只做了一堆if/else语句。有没有办法让这个更干净?在

if (config.dutCardTypes[0] in [6, 7]) and (config.isPrimary) and (config.measPwr):        ### Power Measurement for 28nm on Primary Only
  if dsppif[dutDevId].pifReadData(0x1e800) == 0x1 :
    print "Link Up, Measuring SteadyState Power..."
    if (("Sahara Validation" in dsppif[dutDevId].board.description)) :
        v, i, pwr = getOnBoardPwr(dsppif[dutDevId],"Sahara Validation")
        vdd21A_pwr = pwr["P2V1"]
        vdd12A_pwr = pwr["P1V2"]
        vdd_pwr    = pwr["VDD"]
        vdd3v3_pwr = pwr["P3V3"]
    elif "Athena" in dsppif[dutDevId].board.description:
        if (("Quad A" in dsppif[dutDevId].board.description)) :
            v, i, pwr = getOnBoardPwr(dsppif[dutDevId],"Athena Quad A")
            vdd21A_pwr = pwr["P2V1_A"] + pwr["P2V1_B"] + pwr["P2V1_C"] + pwr["P2V1_D"] + pwr["P2V1_E"]
            vdd12A_pwr = pwr["P1V2_A"] + pwr["P1V2_B"]
            vdd_pwr    = pwr["VDD"]
        elif (("Quad B" in dsppif[dutDevId].board.description)) :
            v, i, pwr = getOnBoardPwr(dsppif[dutDevId],"Athena Quad B")
            vdd21A_pwr = pwr["P2V1_A"] + pwr["P2V1_B"] + pwr["P2V1_C"] + pwr["P2V1_D"] + pwr["P2V1_E"]
            vdd12A_pwr = pwr["P1V2_A"] + pwr["P1V2_B"]
            vdd_pwr    = pwr["VDD"]
        elif (("Quad C" in dsppif[dutDevId].board.description)) :
            v, i, pwr = getOnBoardPwr(dsppif[dutDevId],"Athena Quad C")
            vdd21A_pwr = pwr["P2V1_A"] + pwr["P2V1_E"]
            vdd12A_pwr = pwr["P1V2_A"] 
            vdd_pwr    = pwr["VDD"]     

Tags: inboardifdescriptionquadvddpwrp1v2
1条回答
网友
1楼 · 发布于 2024-10-01 15:32:04

在较高的层次上,python建议您尝试使用字典来处理这类事情。 我不会尝试翻译您的示例,因为它有点冗长,但基本上不使用这样的case语句:

function(argument){
    switch(argument) {
        case 0:
            return "zero";
        case 1:
            return "one";
        case 2:
            return "two";
        default:
            return "nothing";
    };
};

你可以用这样一本关于可能性的字典

^{2}$

您还可以创建一个switcher类,并将您的操作映射到您的条件。总的来说,python的方法是增加易读性。在

相关问题 更多 >

    热门问题