PyCharm 2025.3 Help

模式匹配

PyCharm 提供对 模式匹配 的支持,该功能在 PEP-634PEP-635PEP-636 中引入,并自 Python 3.10 起可用。

模式匹配以 match 语句case 语句 的形式添加,可为模式指定关联的操作:

match subject: case <pattern_1>: <action_1> case <pattern_2>: <action_2> case <pattern_3>: <action_3> case _: <action_wildcard>

模式由序列、映射、原始数据类型和类实例组成。 模式匹配允许从复杂数据类型中提取信息、根据数据的结构进行分支,并根据不同的数据形式执行特定操作。 有关示例和用例的更多信息,请参阅 docs.python.org 上的功能概述PEP-636(教程)

PyCharm 为模式匹配提供以下编码辅助:

语法高亮

PyCharm 支持对匹配语法进行解析和高亮显示。

模式匹配:字面量

要更改默认代码样式,请按 Ctrl+Alt+S 打开设置并选择 编辑器 | 代码风格 | Python。 更多详情请参阅 配置代码样式

关键字补全

开始键入某个特定于模式匹配的关键字,例如 matchcase ,PyCharm 将显示补全列表,以便快速编辑:

关键字补全

有关 PyCharm 中代码补全的详细信息,请参阅 代码补全

代码检查

借助 PyCharm 中提供的 代码检查 ,您可以检测模式匹配结构中的问题代码。

要配置代码检查,请按 Ctrl+Alt+S 打开设置并选择 编辑器 | 代码风格 | Python ,然后找到要编辑的检查并应用更改。 更多详情请参阅 更改检查严重性禁用与启用检查

不可到达的代码

当在执行期间无法到达某个代码元素时,PyCharm 会显示警告。 在模式匹配结构中,这通常发生在定义了多个模式,但其中某一个已匹配所有可能的输入,从而使其下方的模式不可到达。

编辑器中也会以灰色高亮显示不可到达的代码。

模式匹配中的不可到达的代码

    变量重复声明

    当您声明一个在模式匹配中使用的变量名时,PyCharm 会将其高亮显示并显示警告。 这是因为变量名会执行赋值,其先前的值不会被考虑。

    模式匹配中的变量重复声明
      最后修改日期: 2025年 12月 2日