Python里面代替switch结构的方法

程序里面要用到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()
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、快捷键 ctr+b 执行ctr+/ 单行注释ctr+c ...
    o_8319阅读 5,891评论 2 16
  • 〇、前言 本文共108张图,流量党请慎重! 历时1个半月,我把自己学习Python基础知识的框架详细梳理了一遍。 ...
    Raxxie阅读 19,122评论 17 410
  • 期待入梦,去体验那不同于白天的境遇,仿佛生命延长了,又仿佛角色丰满了。梦,让人生少些遗憾多些洒脱。愿你夜夜入梦,夜...
    夜的海阅读 322评论 0 0