1. 程式人生 > >字典來代替switch

字典來代替switch

day=0
switcher={
     0:'Sunday',
     1:'Monday',
     2:'Tuesday'
    }


day_name=switcher.get(day,'Unkown')#day=6不存在時get()方法的容錯性返回Unkown
print(day_name)
#>>>Sunday

上面是一種字典實現switch的程式碼,python中沒有switch

day=6不存在時get()方法的容錯性返回Unkown

方法改進:

day=8
def get_sunday():
    return 'Sunday'
def get_monday():
    return 'Monday'
def get_tuesday():
    return 'Tuesday'
def get_default():
    return 'Unkown'

switcher1={
     0:'get_sunday',
     1:'get_monday',
     2:'get_tuesday'
    }

day_name1=switcher.get(day,get_default)()
#get(day,'Unkown')()   這是一個方法,get(day,'Unkown')取到字典中的get_sunday等其中一個,get_×××()相當於呼叫這個方法
print(day_name1)
#>>>Unkown

get(day,'Unkown')()   這是一個方法,get(day,'Unkown')取到字典中的get_sunday等其中一個,get_×××()相當於呼叫這個方法