match subject: case <pattern_1>: <action_1> case <pattern_2>: <action_2> case <pattern_3>: <action_3> case _: <action_wildcard> 最后的case _:相当于if-elif最后的else,它能匹配任何值。 匹配标量 所谓标量就是常量,以及当做常量使用的枚举值。 注意:变量是不能作为case后面的匹配值使用的。
有了match case之后,我们可以这样做匹配:defselect_platform(name): match name: case "小破站": print(f"程序员晚枫的{name}账号名称是:程序员晚枫") case "Z乎": print(f"程序员晚枫的{name}账号名称是:程序员晚枫") case "小红薯": print(f"程序员晚枫的{name}账号名称是:...
print("A string!") case _: print("Unknown type") 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 在这个例子中,data的值是整数42,因此第一个case子句(case int():)将被执行。 序列匹配 match语句还支持对序列(如列表、元组)进行解构匹配。 coordinates = (0, 0) match coordinates: case (0, 0...
match-case 语句使用 match 关键字初始化并获取一个参数,然后使用 case 关键字与参数匹配。“_”是通配符,当没有任何匹配项时运行。match-case 实例:day=input("请输入一个数字(1 - 7):")match day: case "1": print("星期一") case "2": print("星期二") case "3": print...
类似于switch的语法,可以避免if else大量嵌套的情况,python3.10以上版本引入了match-case 同时match case还是一个非常强大的匹配语法 match case的基础语法是 mathc <表达式>: case <值1>: <代码1> case <值2>: <代码2> case <值3>|<值4>|<值5>: <代码3> case _: <代码5> 表达式的值依次匹配...
最近发布的 Python 3.10 的所有主要新特性中最重要就是 Match-Case 语法。 有些人仍然认为 Python 不需要“switch-case”语法。 甚至 Guido 本人也不支持在 Python 中添加这种语法。但是,为什么它仍然在这个新版本中发布? 在我看来,原因可以从名称中找到,它被称为“match case”而不是像大多数编程语言那样的“sw...
顺序:match-case 语句是按顺序进行匹配的,一旦找到匹配的模式,就会执行相应的代码块并结束匹配。 变量绑定:在模式匹配中,可以提取并绑定变量的值。例如,在 (x, y) 模式中,x 和y 会被绑定到对应的值上。 守卫条件:可以使用 if 子句作为守卫条件来进一步细化匹配规则。 通配符 _:用于捕获所有未明确匹配的情况。
match-case语句具有以下优点: •代码结构清晰,易于维护。•避免使用大量的if语句,使代码更简洁。•支持模式匹配,可以处理更复杂的条件分支。 5. 最后 通过使用字典映射、函数组合或match-case语句,我们可以在Python中优雅地处理条件分支,避免使用大量的if语句。这些方法不仅使代码更简洁,而且易于维护和扩展。希望这...
今天分享Python高级编程之:深入解析Python中switch case的使用方法。 1、有什么用? 当代码中遇到很多条件判断的时候,如下代码所示,在没有match case之前,我们通常是通过if else做匹配的。 代码语言:python 代码运行次数:0 defselect_platform(name):ifname=="小破站":print(f"程序员晚枫的{name}账号名称是:程序员...