python中替代switch的可行措施 - 知乎

方式一: 字典的方式:

def case1():                            # 第一种情况执行的函数
    print('This is the case1')

def case2():                            # 第二种情况执行的函数
    print('This is the case2')

def case3():                            # 第三种情况执行的函数
    print('This is the case3')

def default():                          # 默认情况下执行的函数
    print('No such case')

switch = {'case1': case1,                # 注意此处不要加括号
          'case2': case2,
          'case3': case3,
          }

choice = 'case1'                         # 获取选择
switch.get(choice, default)()            # 执行对应的函数,如果没有就执行默认的函数

switch是一个字典, key 对应不同的几种选择方式, value是函数名

switch.get(choice, default) 中choice是任一key 值, 得到对应的函数名, 最后通过后面()执行函数.

方式二: lambda表达式

result = {
  'a': lambda x: x * 5,
  'b': lambda x: x + 7,
  'c': lambda x: x - 2
}[value](x)

通过value传入key值, x是lambda中需要传入的参数

参考文献:

https://simonwillison.net/2004/May/7/switch/​simonwillison.net/2004/May/7/switch/

Python switch(多分支选择)的实现​www.cnblogs.com/dbf-/p/10601216.html

Python中为什么没有switch语法结构,有什么代替方案吗?112 关注 · 17 回答问题


原网址: 访问
创建于: 2024-05-22 16:30:34
目录: default
标签: 无

请先后发表评论
  • 最新评论
  • 总共0条评论