在学习python的过程中,有些小伙伴对于match这个语句的含义和用法不太懂。那么下面这篇文章会详细说明match的含义和它的用法示例。
match语句接受一个表达式,并将其值与作为一个或多个case块给出的连续模式进行比较。这在表面上类似于C、Java或JavaScript(以及许多其他语言)中的switch语句,但它也可以将组件(序列元素或对象属性)从值提取到变量中,最简单的形式是将一个目标值与一个或多个字面值进行比较,示例如下:
def http_error(status):
match status:
case 400:
return "Bad"
case _:
return " internet"
注意最后一个代码块:变量名_被作为通配符并必定会匹配成功。 如果没有case语句匹配成功,则不会执行任何分支。
使用|(“or”)在一个模式中可以组合多个字面值,示例如下:
case 401 | 403 | 404:
return "Not allowed"
模式的形式类似解包赋值,并可被用于绑定变量:
match point:
case (0, 0):
print("Origin")
case (0, y):
print(f"Y={y}")
case (x, 0):
print(f"X={x}")
case (x, y):
print(f"X={x}, Y={y}")
case _:
raise ValueError("Not a point")
第一个模式有两个字面值,可以看作是上面所示字面值模式的扩展。但接下来的两个模式结合了一个字面值和一个变量,而变量绑定了一个来自目标的值(point)。第四个模式捕获了两个值,这使得它在概念上类似于解包赋值 (x, y) = point。
以上就是关于python中match语句是什么的详细解析了,希望对你有所帮助。