python的match,case用法
时间: 2024-09-28 14:12:13 浏览: 24
Python中的`match`关键字是在Python 3.10版本引入的新特性,它主要用于模式匹配,类似于其他语言里的switch-case结构,尤其是在处理字典、元组等复杂数据结构时非常方便。`match`用于`match`表达式,通常在一个`with`语句中使用,语法如下:
```python
match target:
case pattern_1:
# 这里编写针对pattern_1的代码块
...
case pattern_2:
# 对于pattern_2的匹配
...
...
case _:
# 默认情况,如果所有pattern都不匹配,则执行这里的代码
...
```
每个`case`部分是一个模式(pattern),当`target`匹配该模式时,对应的代码块将被执行。最后一个`case`前的下划线 `_` 表示匹配任意剩余值,通常用于提供默认行为。
举个例子:
```python
numbers = {'a': 1, 'b': 2, 'c': 3}
value = 'a'
match value:
case 'a':
print(f"Value is {numbers[value]}")
case 'b', 'c':
print(f"One of b or c: {numbers[value]}")
case _:
print("Invalid key")
```
在这个例子中,如果`value`是'a',会打印出"Value is 1";如果是'b'或'c',则打印"One of b or c: 2",因为它们都匹配第二个`case`;对于其他值,会执行第三个`case`的代码,显示"Invalid key"。
阅读全文