python的分支结构没有switch,所以在需要写多分支跳转的时候,就会出现一大堆的if...elif...else等语句,这种结构很难维护。
下面介绍一种使用dict实现一种无if...elif...else的分支跳转:
例子:
def add(a,b):
return a+b
def sub(a,b):
return a-b
def mul(a,b):
return a*b
def div(a,b):
return a/b
fun_dict={
"add":add,
"sub":sub,
"mul":mul,
"div":div
}
#如果我现在需要跳转分支,只需要给出相应的跳转分支名即可。
a=1
b=2
op="add"
fun_dict.get(op)(1,2) #直接通过op就可以跳转到对应的函数执行
以后只需要维护fun_dict这个字典即可。
该方式的缺点在于,比较短的一些分支,也需要实现一个函数。