代码点读机 / Python / case

case Python · 关键字

match 语句里的一个分支,匹配上对应模式就执行它的代码。match 是“总台”,把一个值拿过来;case 是各个“格口”,匹配到哪个格口就执行那个格口的代码。如果都不匹配,还可以有 case _ 作为“其他”格口。

怎么用

match 值:
    case 模式1:
        代码
    case 模式2:
        代码
    case _:
        其他情况

小例子

水果 = "苹果"

match 水果:
    case "苹果":
        print("是苹果")
    case "香蕉":
        print("是香蕉")
    case "橙子":
        print("是橙子")
    case _:
        print("不认识的水果")

运行结果

是苹果

常见使用场景

替代多个 if-elif-else,更清晰
解构复杂数据结构(如元组、列表、类实例)

提醒:match/case 是 Python 3.10 才加入的,旧版本不支持。 case _ 是通配符,表示“其他任何情况”。 case 后面可以写复杂模式,比如 case (x, 0) 匹配元组第一个元素任意、第二个元素为 0 的情况。

官方文档:https://docs.python.org/zh-cn/3/reference/compound_stmts.html#match

在代码里遇到不认识的词?打开代码点读机,点一下就懂 → ← Python全部词条