优草派  >   Python

Python中match语句是什么?match语句详解看这篇

罗西汉            来源:优草派

在学习python的过程中,有些小伙伴对于match这个语句的含义和用法不太懂。那么下面这篇文章会详细说明match的含义和它的用法示例。

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语句是什么的详细解析了,希望对你有所帮助。

【原创声明】凡注明“来源:优草派”的文章,系本站原创,任何单位或个人未经本站书面授权不得转载、链接、转贴或以其他方式复制发表。否则,本站将依法追究其法律责任。
TOP 10
  • 周排行
  • 月排行