美文网首页
Python里面代替switch结构的方法

Python里面代替switch结构的方法

作者: 波洛的汽车电子世界 | 来源:发表于2018-09-19 21:33 被阅读0次

    程序里面要用到switch,查了一下,python居然没有这个语法,看了下官方文档,才知道,官方建议大家用if..elif...else来代替。如果分类实在太多,官方建议在函数里面构造字典映射,然后call function(value)来解决。

    def function_1(value):
    def function_2(value):
      
    
    functions = {'a': function_1,
                 'b': function_2,
                 'c': function_3, ...}[x]
    
    func = functions[value]
    func()
    
    

    一种更简单的方法是用lambda 来代替function。

    functions = {
      'a': lambda x: function_1(x),
      'b': lambda x: function_2(x),
      'c': lambda x: function_3(x)
    }[x]
    
    func = functions[value]
    func()
    

    相关文章

      网友评论

          本文标题:Python里面代替switch结构的方法

          本文链接:https://www.haomeiwen.com/subject/cwrwnftx.html