Python switch case

时间:2020-02-23 14:43:34  来源:igfitidea点击:

在本教程中,我们将研究python switch case语句。

Python switch case

尽管许多其他语言提供了switch语句,但是python没有任何switch语句。
根据PEP-3103,它保证了这一事实。
但是,如果您喜欢其他编程语言中的switch case语句,则可以创建像python中的switch case语句一样工作的代码段。

使用字典返回值

您可以使用字典来像switch语句一样工作。
其中字典的键将以" case"的形式工作。

然后根据键,字典的值将作为结果。
在本教程中,我们将给出一些示例。
请参阅以下代码,以了解此简单的switch case语句替代示例。
如果您不了解Python词典,请参阅我们的Python词典教程。

b ={
  'a' : 122,
  'b' : 123,
  'c' : 124,
  'd' : 125
}

# take user input
inp = input('input a character : ')

# -1 is the default value if there is no keys that matches the input
print('The result for inp is : ', b.get(inp, -1))

因此,对于我来说,我输入了" b"作为输入。
输出如下

带有动态功能的Python switch case语句替代

在本节中,我们将看到如何基于字典键执行动态操作。
因此,想象一个场景,在该场景中,我们需要根据输入来计算不同的事物。
如何使用字典做到这一点?好吧,在这种情况下,我们将使用Python Lambda函数来执行此操作。
请参阅以下示例,以替代python switch case语句。

def switch_func(value, x):
  return {
      'a': lambda x: x+122,
      'b': lambda x: x*2,
      'c': lambda x: x-123,
      'd': lambda x: x/2
  }.get(value)(x)

# take user input
inp = input('input a character : ')

print('The result for inp is : ', switch_func(inp, 2))

我使用" d"作为输入。
所以以下代码的输出是这样的

input a character : d
The result for inp is :  1.0

因此,这就是关于Python switch case语句替代方案的全部内容。
不建议使用这种代码段。
Python if else技术比该代码段更优雅。
但是学习新技术从来都不坏。