https://docs.python.org/zh-cn/3/tutorial/controlflow.html#match-statements
https://docs.python.org/zh-cn/3/reference/compound_stmts.html#match
🐍 3.10 新版功能.
match
语句也被称作匹配语句,用于进行模式匹配。 case
后),一个目标值(跟在 match
后)。 if ... elif ... else
类似match
语句类似 C 语言中的 switch
语句;代码示例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
|
字面值模式
就是直接进行值比较的模式,对于单例 None
、 True
和 False
,会使用 is
运算符。或模式
是由竖杠 |
分隔的两个或更多的模式。case
中的 if
(约束项
)必须成立才能让 case
语句块中的代码被执行。AS 模式
将关键字 as
左侧的或模式与目标值进行匹配。简而言之,P as NAME
将与 P 匹配,成功后将设置 NAME = {匹配到的值} 。case _
中的 _
被作为通配符
,当未匹配到其它 case
时执行此分支。as
可以用在 case _
中case
语句匹配成功,则不会执行任何分支。=== 全文完 ===