准确的电话号码和 WhatsApp 号码提供商。 如果您想要电子邮件营销活动列表或短信营销活动,那么您可以联系我们的团队。 telegram: @latestda

最终在Python中控制流程 如何使用结构模式匹配

Python 是一种强大且流行的语言,但长期以来它缺乏其他语言所具有的流控制:一种获取值并将其与几种可能条件之一无缝匹配的方法。这在 C 和 C++ 中称为 switch/case 结构,在 Rust 中称为“模式匹配” 。

ⓒ 盖蒂图片库

Python 中模式匹配的传统方法不是很直观。一种是使用一串 if/elif/else 表达式,另一种是将要匹配的值作为键存储在字典中,然后使用这些值来存储例如函数作为值​​并使用按键或其他变量作为输入。这是一种方法。尽管它在大多数情况下运行良好,但创建和维护起来很麻烦。

在多次向 Python 添加 switch/case-like 结构的提议失败后,Python 语言的最新创建者 Guido van Rossum 和其他几位贡献者提出的另一种方法终于进入了 Python 3.10。这就是结构模式匹配。结构模式匹配不仅可以实现简单的 switch/case 样式匹配,而且还支持广泛的用例。

Python结构模式匹配简介

结构模式匹配向 Python 引入了 match/case 语句和模式语法。match/case 语句的基本轮廓与 switch/case 相同。也就是说,它接 俄罗斯电话号码数据 收一个对象,根据一个或多个匹配模式测试该对象,并在找到匹配项时执行操作。

匹配命令:
匹配的标准。前面的示例使用简单的字符串作为匹配目标,但也可以进行更复杂的匹配。实际上,结构模式匹配的主要用例是形式模式匹配,而不是价值模式匹配。

Python 通过从顶部降序排列案例列表来执行匹配。在第一个匹配中,我们执行 case 块的声明,然后跳到匹配块的末尾并继续执行程序的其余部分。尽管案例之间不存在“失败”,但可以设计逻辑来处理单个案例块中的多个可能的案例。此外,可以捕获并重复使用比赛的全部或部分内容。如果上例中的known_command 情况没有匹配,则该值将被“捕获”到unknown_command 变量中并可以重复使用。

使用Python结构化模式匹配来匹配变量

电话号码 数据

这里有一些重要的事 欧洲邮件 情需要注意。在 case 语句中列出变量名称并不意味着应根据命名变量的内容进行匹配。案例中的变量用于捕获匹配值。要根据变量的内容进行匹配,变量必须表示为点分隔的名称,例如枚举。

不需要使用枚举。可以使用任何由点分隔的属性名称。枚举是 Python 中最熟悉、最自然的实现此目的的方法。无法通过索引来匹配变量内容。例如,case Commands[0]: 会被视为语法错误而被拒绝。

 

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注