在本文中,我们将尝试理解 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
方法二:使用 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