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
相当于key
与value
。通过key
找value
来类似switch的操作。
如果 n 不存在,则返回默认值 “Default case”。
这是我自己用起来最好用,目前感觉代码量最少的。但是如果你需要获取的是数值,可能会出现转化问题!
总结
以上就是今天要讲的内容,本文仅仅简单介绍了Python与C#关于switch的使用区别。总的来说,C#中使用可能更便捷,python使用switch需要转化,会更加花时间!