约 1686 字
约 8 分钟
模式匹配(Pattern Matching)是一种检查变量是否符合某种模式的语法结构,通过 match
和 case
进行控制
# 按照先后顺序检查模式,只执行第一个匹配的模式下的代码块。
match 变量:
case 模式1:
代码块1
case 模式2:
代码块2
...
case 模式n:
代码块n
模式为精确值,变量与模式相等时匹配。例如:
value:int = int(input("好评请按1,差评请按2,投诉请按3:"))
match value:
case 1:
print("好评")
case 2:
print("差评")
case 3:
print("投诉")
case _: # 无匹配模式匹配
print("无效输入")
case _:
是 通配符模式,可以匹配任何内容,通常写在最后面,作为其它所有模式都不匹配时的默认操作。
模式为类型,变量符合该类型时匹配。例如:
value:str = "233"
match value:
case int(x): # 匹配成功时,value 会赋值给 x
print("类型为整数,值为", x)
case str(x):
print("类型为字符串,值为", x)
模式为匹配模式表达式,变量满足表达式时匹配。例如:
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, "岁老年")
创建于 2025/4/10
更新于 2025/5/21