如何在python中实现不同功能的switch-case?

时间:2011-04-12 12:12:20

标签: python-3.x

如何在python中实现不同功能的switch-case?函数参数在每种情况下都不同。

2 个答案:

答案 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)