其他编程语言(例如JavaScript)采用switch语句,switch语句是一个代码块,其中的值与一组情况匹配。当大小写匹配时,将执行该块中的代码(及其后的所有内容)。可选地,当没有匹配的案例时,默认案例可以用作包罗万象。
Switch语句在Python中不存在;但是,有一些方法可以模拟其行为。这是这样做的两种方法。
在.get()中使用字典函数
此方法利用Python的字典数据类型来获得类似的结果:匹配大小写(键),并允许使用 .get()
def switch_dict(x): case_dict = { "a": 1, "b": 2, "c": 3 } default_value = -1 return case_dict.get(x, default_value)
为了优化我们的代码并进一步压缩它,我们可以编写如下:
def switch_dict(x): return { "a": 1, "b": 2, "c": 3 }.get(x, -1)
请注意,字典在函数内,可能会更高效,但更易于阅读和维护。
用if / elif / else语句重建
总有过时的歌曲,但使用的序列的糖果if,elif和else语句来重新创建switch语句。
def switch_dict(x): if x == "a": return 1 elif x == "b": return 2 elif x == "c": return 3 else: return -1
这似乎比简单的命令要费力。但是,它确实具有优势。如果需要在每种情况下执行多个操作,则使用if语句将更易于管理。此外,if语句对于允许使用更复杂的匹配条件将是有益的。