在本文中,我们将尝试理解 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 (numbers_to_strings(argument))

方法二:使用 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
	number_to_string(argument)

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

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

如果本文对你有帮助,别忘记给我个3连 ,点赞,转发,评论,

关注与私信博主(08)学习更多Python知识与技巧,课件,源码,安装包,还有最新大厂面试资料等等等
咱们下期见。

收藏 等于白嫖,点赞才是真情。
 

更多推荐

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