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技术比该代码段更优雅。
但是学习新技术从来都不坏。