首页 > 编程语言 >Python 教程之控制流(9)Python 中的 Switch Case(替换)

Python 教程之控制流(9)Python 中的 Switch Case(替换)

时间:2022-10-04 16:05:59浏览次数:53  
标签:Case case return Python 控制流 Switch switch __

在本文中,我们将尝试理解 Python 中的 Switch Case(替换)。

Python中Switch Case的替代品是什么?

与我们之前使用的所有其他编程语言不同,Python 没有 switch 或 case 语句。为了绕过这个事实,我们使用字典映射。

方法一:使用字典映射在 Python 中实现 Switch Case

在 Python 中,字典是数据值的无序集合,可用于存储数据值。与每个元素只能包含一个值的其他数据类型不同,字典还可以包含键:值对。当我们用字典代替 Switch case 语句时,字典数据类型的键值作为 switch 语句中的 case 起作用。

# 将数字转换为字符串 Switcher 的函数在这里是字典数据类型
def numbers_to_strings(argument):
switcher = {
0: "zero",
1: "one",
2: "two",
}

# 字典数据类型的 get() 方法返回传递参数的值,如果它存在于字典中,否则第二个参数将被分配为传递参数的默认值
return switcher.get(argument, "nothing")

# 驱动程序
if __name__ == "__main__":
argument=0
print

方法二:使用 if-else 在 Python 中实现 Switch Case

if-else 是另一种实现 switch case 替换的方法。它用于确定是否将执行特定语句或语句块,即如果特定条件为真,是否将执行语句块。

bike = 'Yamaha'

if fruit == 'Hero':
print("letter is Hero")

elif fruit == "Suzuki":
print("letter is Suzuki")

elif fruit == "Yamaha":
print("fruit is Yamaha")

else:
print("Please choose correct answer")

方法三:在 Python 中使用 Class 实现 Switch Case

在这个方法中,我们使用一个类在 Python 中的 python switch 类中创建一个 switch 方法。

class Python_Switch:
def day(self, month):

default = "Incorrect day"

return getattr(self, 'case_' + str(month), lambda: default)()

def case_1(self):
return "Jan"

def case_2(self):
return "Feb"

def case_3(self):
return "Mar"


my_switch = Python_Switch()

print(my_switch.day(1))

print(my_switch.day(3))

输出:

Jan
mar

Python中的切换案例

在Python 3.10及之后,Python 将通过使用match代替 switch 来支持这一点:

def number_to_string(argument):
match argument:
case 0:
return "zero"
case 1:
return "one"
case 2:
return "two"
case default:
return "something"


if __name__ = "__main__":
argument = 0

它类似于 C++ 、Java等中的 switch case。

如果你发现本文有什么问题,欢迎在评论区指正。

标签:Case,case,return,Python,控制流,Switch,switch,__
From: https://blog.51cto.com/haiyongblog/5731288

相关文章