【问题标题】:How do I implement a switch-case of different functions in python? [closed]如何在 python 中实现不同功能的 switch-case? [关闭]
【发布时间】:2011-04-12 12:12:19
【问题描述】:

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

【问题讨论】:

  • 请提供一些代码或有关您的问题上下文的更多信息
  • @Lennart Regebro:您使用了错误的链接(复制粘贴错误?)
  • 是的。好吧,无论如何它都是重复的。这不是一个真正的问题。 :-/

标签: python-3.x


【解决方案1】:

像这样:

if case1:
   function1()
elif case2:
   function2(arg1, arg2)
elif case3:
   function3(arg3)

等等

【讨论】:

    【解决方案2】:

    Python 没有 switch-case 语句。您当然可以使用 if/elif-blocks 来测试变量并根据变量值调用相关函数。但我认为您可以使用 Python 内置字典实现更优雅的解决方案。参数保存在列表和/或字典中,并直接传递给被调用的函数。

    类似的东西:

    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)
    

    【讨论】:

      猜你喜欢
      • 2019-11-18
      • 2022-06-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-07
      • 1970-01-01
      • 2013-07-10
      • 1970-01-01
      相关资源
      最近更新 更多