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

  • 9
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python没有内置的switch/case语句。与Java、C/C++等语言不同,Python没有直接提供switch/case语句的功能。但是,我们可以通过几种方法实现类似功能的结构。 第一种方法是使用if...elif...elif...else语句实现类似switch/case的功能。将需要判断的条件依次放在if和elif语句,根据条件执行相应的代码块。最后,可以使用else语句来处理默认情况。虽然这种方法比较简单,但是当分支较多或需要频繁修改时可能不够方便和易于维护。 第二种方法是使用字典来实现类似switch/case的功能。可以将不同的条件作为字典的键,对应的代码块作为字典的值。然后,可以通过检索字典来执行相应的代码块。这种方法非常灵活,可以在运行时方便地添加或删除switch/case选项。 第三种方法是在类使用调度方法实现类似switch/case的功能。可以将不同的条件作为方法的参数,根据不同的条件执行相应的方法体。这种方法适用于需要在类多次使用相同的条件判断。 综上所述,尽管Python没有直接提供switch/case语句,但可以使用if...elif...elif...else语句、字典或调度方法实现类似的功能。具体选择哪种方法取决于你的需求和代码结构。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Python switch/case语句实现方法](https://blog.csdn.net/l460133921/article/details/74892476)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值