1686

8 分钟

#Python 的模式匹配

模式匹配(Pattern Matching)是一种检查变量是否符合某种模式的语法结构,通过 matchcase 进行控制

# 按照先后顺序检查模式,只执行第一个匹配的模式下的代码块。 match 变量: case 模式1: 代码块1 case 模式2: 代码块2 ... case 模式n: 代码块n

开始

匹配模式1?

代码块1

结束

匹配模式2?

代码块2

匹配模式n?

代码块 n

代码块 n+1

#精确匹配

模式为精确值,变量与模式相等时匹配。例如:

value:int = int(input("好评请按1,差评请按2,投诉请按3:")) match value: case 1: print("好评") case 2: print("差评") case 3: print("投诉") case _: # 无匹配模式匹配 print("无效输入")

>>> Establishing WebAssembly Runtime.

>>> Standby.

Powered by Shift.

case _:通配符模式,可以匹配任何内容,通常写在最后面,作为其它所有模式都不匹配时的默认操作。

#类型匹配

模式为类型,变量符合该类型时匹配。例如:

value:str = "233" match value: case int(x): # 匹配成功时,value 会赋值给 x print("类型为整数,值为", x) case str(x): print("类型为字符串,值为", x)

>>> Establishing WebAssembly Runtime.

>>> Standby.

Powered by Shift.

#匹配模式匹配

模式为匹配模式表达式,变量满足表达式时匹配。例如:

age:int = int(input("请输入你的年龄:")) match age: case x if x < 3: # 匹配成功时,age 会赋值给 x print(x, "岁婴儿") case x if x < 18: print(x, "岁少年") case x if x < 44: print(x, "岁青年") case x if x < 59: print(x, "岁中年") case x: # 无匹配模式匹配 print(x, "岁老年")

>>> Establishing WebAssembly Runtime.

>>> Standby.

Powered by Shift.

创建于 2025/4/10

更新于 2025/5/21