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