如何在python中实现不同功能的switch-case?函数参数在每种情况下都不同。
答案 0 :(得分:1)
Python没有switch-case语句。您当然可以使用if / elif-blocks代替测试变量并根据变量值调用相关函数。但我认为您可以使用Pythons内置词典实现更优雅的解决方案。参数保存在列表和/或字典中,并直接传递给被调用的函数。
以下内容:
def function1(arg1, arg2):
print "I'm function1"
def function2(arg1, arg2, arg3):
print "I'm function2"
functions = {"key1": function1,
"key2": function2}
switch_var = "key2"
args = [1, 2, 3]
kwargs = {}
functions[switch_var](*args, **kwargs)
答案 1 :(得分:1)
像这样:
if case1:
function1()
elif case2:
function2(arg1, arg2)
elif case3:
function3(arg3)
等