Python switch/case语句实现方法

python如何使用像C/C++/Java/Go中的switch-case的方式。

这波python更新真的好,不但提升了str()方法的速度,更让人感动哭的是,python终于在python3.10版本中添加case的用法了(结构模式匹配)。

用法举例:

def test_case(value):
    match value:
        case 1:
            print("匹配到1")
        case 2:
            print("匹配到2")
        case 3:
            print("匹配到3")
        case _:
            print("没有匹配到任何status")

if __name__ == "__main__":
    test_case(1)
    test_case(5) 

使用match-case需要注意的几个小点:

1、最后一个 _ 符号并不是一个变量名,二十表示一种特殊的模式,在前面的case都没命中的情况下会命中该行,相当于C/C++/Java/Go语言中的default。

2、当匹配的对象是个字典,只要case表达式中的key在字典中存在则可匹配成功

3、当匹配的是类对象的时候,只要对象类型和对象属性满足条件即可匹配成功

4、当匹配对象是列表(list)或者元组(tuple)的时候,需要长度和元素值都匹配才算匹配成功

5、match-case语法支持可变参数如 *args或 **rest

6、使用**rest的时候会匹配到字典中的所有 key 和 value

case {**rest}:
    xxxxxx

详细的用法用例见文档

下载python3.10

你可能感兴趣的:(Python,python,开发语言,后端,switch-case,python,case)