【发布时间】:2021-10-23 18:15:33
【问题描述】:
我有一个函数,它根据满足的条件语句调用不同的函数。该函数目前看起来像这样。
def func1(var_a, var_b=1):
return 'Some values'
def func2(var_c, var_d=2):
return 'Some values'
def func3(var_e, var_f):
return 'Some values'
def choose_function(a, b, c):
if a == 'first_option':
val = func1(b, c)
elif a == 'second_option':
val = func2(b, c)
elif a == 'third_option':
val = func3(b, c)
return val
函数choose_function以后可以有8-10多个if else条件。有没有更 Pythonic 的方式来处理这些条件语句。
我可以把它转换成一个字典,它根据字典中作为键提供的变量a 调用函数。更具体地说,我希望函数类似于以下内容
def choose_function(a, b, c):
func_options ={
'first_option': func1(b, c),
'second_option': func2(b, c),
'third_option': func3(b, c)
}
return func_options[a]
即使上述功能正常工作,每当有人提供字典键中不存在的值时,我该如何处理这种情况?
【问题讨论】:
标签: python python-3.x python-3.6