• 预备
  • 基础语法
  • 容器类型
  • 函数
  • 面向对象
  • 输入输出
  • 进程控制
  • 线程控制
  • 正则表达式
  • 网络编程
  • 图形界面
  • 常见问题
  • API 帮助手册

  • 设置

1978

10 分钟

#模式匹配

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

# 按照先后顺序检查模式,只执行第一个匹配的模式下的代码块。 match 变量: case 模式1: 代码块1 case 模式2: 代码块2 ... case 模式n: 代码块n
Gstart开始cond1匹配模式1?start->cond1code1代码块1cond1->code1cond2匹配模式2?cond1->cond2end结束code1->endcode2代码块2cond2->code2condn匹配模式n?cond2->condncode2->endcoden代码块ncondn->codencondn->endcoden->end

参考: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