python match case
时间: 2023-06-22 20:44:05 浏览: 152
`match case` 是 Python 3.10 中新增的语法,用于模式匹配。它类似于 `switch case`,但更为灵活。
以下是一个简单的例子:
```
def check_type(x):
match x:
case str():
print("x is a string")
case int():
print("x is an integer")
case list():
print("x is a list")
case _:
print("x is something else")
check_type("hello") # 输出 x is a string
check_type(10) # 输出 x is an integer
check_type([1, 2, 3]) # 输出 x is a list
check_type({'a': 1}) # 输出 x is something else
```
在上述代码中,`match` 关键字后面的表达式 `x`,会依次与每个 `case` 后面的模式进行匹配,如果匹配成功,则执行对应的代码块。如果所有的 `case` 都没有匹配成功,那么会执行 `_` 后面的代码块,相当于默认情况。
需要注意的是,每个 `case` 后面的模式可以是任意的 Python 表达式,包括常量、变量、函数调用等。同时,还可以使用 `|` 连接多个模式,表示或的关系。
阅读全文