更新,python3.10中已经出现了match语句,相当于switch。
用字典的映射来代替switch语句
python 中没有 switch语句。用if-else 语句替代的办法实在蠢得忍不了。
本文用字典的映射来代替switch语句,记得收藏哦。
#coding:utf-8
'''字典代替switch'''
# 字典代替switchday=4
# some_day={
# 0:'sunday',
# 1:'monday',
# 2:'tuesday'
# }
# one_day=some_day.get(day,'unknow')
# print(one_day)
'''字典对应得可以为函数'''
day=0
def get_sun():
return 'sunday'
def get_mon():
return 'monday'
def get_tuse():
return 'tuesday'
def get_unk():
return 'unknow'
some_day={
0:get_sun,
1:get_mon,
2:get_tuse
}
one_day=some_day.get(day,get_unk)()
print(one_day)
注意:当有指点外的key的值存在可以通过字典的get方法进行定义,返回的方法,但此方法的缺陷在于如果不同的key所对应得函数有不同个数的传值,就可能达不到效果。
参考:
https://www.zhihu.com/question/21123544/answer/1664192728