Python 教程(七):match...case 模式匹配
人民网>>社会·法治

Python 教程(七):match...case 模式匹配

2025-06-24 11:43:52 | 来源:人民网
小字号

目录。

    • 专栏列表。
    • 前言。
    • 基本语法。
      • match 语句。
      • case 语句。
    • 模式匹配类型。
    • 示例。
      • 具体值匹配。
      • 类型匹配。
      • 序列匹配。
      • 星号表达式。
      • 命名变量。
      • 复杂匹配。
    • 模式匹配的优势。
    • 总结。

专栏列表。

  • Python教程(一):PyCharm安装的环境建设和环境建设。
  • Python 教程(二):语法与数据结构。
  • Python 教程(三):字符串特性大全。
  • Python 教程(四):Python运算符合集。
  • Python 教程(五):了解条件句和循环结构。
  • Python 教程(六):函数编程。
  • Python 教程(七):match…case 模式匹配。

在这里插入图片描述

文本开始。如果你认为这篇文章对你有帮助࿼请帮我三连+订阅,谢谢�💖💖


前言。

在 Python 中,match。和。 case。是一种新的语法结构,首次出现在 Python 3.10 其中。这种结构提供了一种类似于其他编程语言的结构。 switch。或。 case。功能,允许根据不同的条件执行不同的代码块。

基本语法。

match 语句。

match。语句是 Python 模式匹配语句,它允许您匹配一个值和多个模式,并根据匹配结果执行相应的代码块。

match。value。:。case。pattern1。:。code_block1。    case。pattern2。:。code_block2。    .。.。.。case。_。:。default_code_block。

case 语句。

case。语句是。 match。句子的一部分,用于定义一个或多个模式,当。 match。当语句中的值与这些模式匹配时,将执行相应的代码块。

模式匹配类型。

  1. 具体值匹配。:匹配特定值。
  2. 类型匹配。:匹配特定的数据类型
  3. 序列匹配。:匹配一个序列󿀌例如列表或元组。
  4. 星号表达式:匹配序列中的一些元素。
  5. 命名变量。:变量名࿰在模式中使用c;将匹配值赋予这些变量
  6. 复杂匹配。: 可匹配多个值,匹配一定范围,并将匹配值绑定到变量。

示例。

具体值匹配。

学生的成绩只能是 A、B、C,用。if。语句编写如下:

score。 ='B'if。score。 =='A':。print。(。'score is A.')。elif。score。 =='B':。print。(。'score is B.')。elif。score。 =='C':。print。(。'score is C.')。else。:。print。(。'invalid score.')。

用 match 进行改写。

score。 ='B'match。score。:。case。'A':。print。(。'score is A.')。case。'B':。print。(。'score is B.')。case。'C':。print。(。'score is C.')。case。_。:。# _表示与任何其他情况相匹配。print。(。'score is ???.')。

类型匹配。

def。match_type。(。value。)。:。match。value。:。case。int。(。)。:。print。(。"这是整数")。case。float。(。)。:。print。(。"这是浮点数")。case。str。(。)。:。print。(。"这是一个字符串")。case。_。:。print。(。"未知类型")。match_type。(10.)。# 输出:这是一个整数。match_type。(3.14.)。# 输出:这是浮点数。match_type。(。"hello")。# 输出:这是字符串。match_type。(。[。1.,2.,3.。)。# 输出:未知类型。

在这里插入图片描述

序列匹配。

def。match_sequence。(。value。)。:。match。value。:。case。1.,2.,3.。:。print。(。"匹配到 [1, 2, 3]")。case。(。1。,num。)。:。print。(。"匹配元组,第一个元素是 1",'第二个数',num。)。case。1.,*。rest。]。:。print。(。f"匹配到以 1 开头的列表,其它元素是。 { 。)。case。10。:。print。(。'10 years old.')。case。11。|。12。|。13。|。14。|。15。|。16。|。17。|。18。:。print。(。'11~18 years old.')。case。19。:。print。(。'19 years old.')。case。_。:。print。(。'not sure.')。# 11~18 years old.。模型匹配的优点。代码可读性。:模式匹配使代码更容易理解和维护。

在这里插入图片描述

减少嵌套。

  1. :可以减少。if-elif-else。
  2. 语句嵌套,使代码更加简洁。类型安全。 :通过类型匹配󿀌可以保证正确的变量类型,减少类型错误。总结。
  3. match。和。

case。

是 Python 3.10 新特性,它们为处理条件逻辑提供了强大而灵活的方法。通过学习这些特点󿀌您可以编写更清晰、更高效的代码。我希望这个教程能帮助你更好地理解和使用这些新特性。如果您有任何问题或需要进一步的帮助,请随时与我们联系。

(责编:人民网)

分享让更多人看到