自学内容网 自学内容网

Python与C#关于switch的使用区别

Python与C#关于switch的使用区别

  • 前言
  • C#的switch使用方式
  • python的switch操作
    • 第一种
    • 第二种
    • 第三种
  • 总结


前言

在习惯C#编程后,在多种解析情况下,都使用到了switch case,可以输入不同的值,来执行不同的操作或者定义。在最近使用过程中,接触到python,发现没有自带的switch case语句,记录一下两者的使用区别!


C#的switch使用方式

switch (value)
{
    case 1: xx;break;
    case 3:xx;break;
    case 4:xx;break;
    default:break;
}

这里就是将value输入switch中,根据value值得不同执行不同分支的内容。甚至还可以多分支执行相同的语句。

switch (value)
{
    case 1: 
    case 3:xx;break;
    
    case 4:xx;break;
    default:break;
}

这种情况下,就是当value为1或者3时,执行xx程序后再退出switch操作。

python的switch操作

由于python没有自带的switch操作,就需要我们自己编写来实现。

第一种

使用 if-elif-else

def switch_case(case):
    if case == 1:
        return "Case 1"
    elif case == 2:
        return "Case 2"
    elif case == 3:
        return "Case 3"
    else:
        return "Default case"

# 使用
case_value = 2
result = switch_case(case_value)
print(result)  

第二种

match匹配使用,个人亲用,match装不上去,放弃了。

看着应该很好用,大家可以自己使用一下。应该是最接近switch的方式。

def switch(value):
    match value:
        case 1:
            return "Case 1"
        case 2:
            return "Case 2"
        case _:
            return "Default case"

# 使用
case_value = 2
result = switch(case_value)
print(result)  # 输出: Case 2

第三种

switcher = {
    0: xx,    #case 1
    1: yy,    #case 2
    2: zz,    #case 3
}
action=switcher.get(n, "Default case")

这种是以n为输入数据,根据n的不同来获取对应的数据,可以理解为字典。0: xx相当于keyvalue。通过keyvalue来类似switch的操作。
如果 n 不存在,则返回默认值 “Default case”。

这是我自己用起来最好用,目前感觉代码量最少的。但是如果你需要获取的是数值,可能会出现转化问题!


总结

以上就是今天要讲的内容,本文仅仅简单介绍了Python与C#关于switch的使用区别。总的来说,C#中使用可能更便捷,python使用switch需要转化,会更加花时间!


原文地址:https://blog.csdn.net/arriettyandray/article/details/141395074

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!