假设我们正在编写一些代码来将 HTTP 状态代码转换为错误消息,我们可以使用 match-case 语法如下: 事实上,对于这个特定的例子,match-case 没有比 if-else 语法带来任何好处,如下所示。 def http_error(status): if status == 400: return "Bad request" elif status == 401: return "Unauthorized" elif status...
有了match case之后,我们可以这样做匹配:defselect_platform(name): match name: case "小破站": print(f"程序员晚枫的{name}账号名称是:程序员晚枫") case "Z乎": print(f"程序员晚枫的{name}账号名称是:程序员晚枫") case "小红薯": print(f"程序员晚枫的{name}账号名称是:...
match-case的基本语法如下: match subject: case <pattern_1>: <action_1> case <pattern_2>: <action_2> case <pattern_3>: <action_3> case _: <action_wildcard> 最后的case _:相当于if-elif最后的else,它能匹配任何值。 匹配标量 所谓标量就是常量,以及当做常量使用的枚举值。 注意:变量是不能作...
特性 2:引入结构模式匹配 如果你已经使用过 C++ 等其他编程语言,或许你会期待 Python 有 switch 语句,这样就不必通过长的 if、 elif、 elif…. else 语句来完成任务。Python 3.10 的一个新特性是增加了结构模式匹配,或者换句话说,增加了 match case 语句,它的语法如下:match subject: case <patt1>:...
)match-case 匹配类型和结构 Python 的另一个令人难以置信的功能是能够匹配类型和结构。这意味着 Python 可以判断一个对象是否是可迭代的,可以从中提取值,检查传入的内容的类型。values=['zbxx.net']match values: case [a]: print(f'只有一个元素:{a}') case [a, b]: print(f'两个元素...
case _: " _ "是一个特殊的“占位符”模式,用于匹配任何值(类似于 else)。类似于 C 和 Java 中的default:,当其他 case 都无法匹配时,匹配这条,保证永远会匹配成功。 match subject: case<pattern_1>:<action_1>case<pattern_2>:<action_2>case<pattern_3>:<action_3>case _:<action_wildcard> ...
default:printf("输入错误\n");break; } return0; } 在Python3.10里面类似的功能可以用match-case语句实现: #VX:桔子code / juzicode.com x =int(input("输入数值: ")) matchx: case1:print('星期一') case2:print('星期二') case3:print('星期三') ...
match-case语句具有以下优点: •代码结构清晰,易于维护。•避免使用大量的if语句,使代码更简洁。•支持模式匹配,可以处理更复杂的条件分支。 5. 最后 通过使用字典映射、函数组合或match-case语句,我们可以在Python中优雅地处理条件分支,避免使用大量的if语句。这些方法不仅使代码更简洁,而且易于维护和扩展。希望这...
match subject:case<patt1>:<act1>case<patt2>:<act2>case<patt3>:<act3>case_:<action_default> 特性3:新型 Union 运算符 尽管Python 是一种动态类型的编程语言,但有一些方法可以使它的某些部分成为静态类型。例如,如果你正在编写一个函数,并且属性(attributes)的类型对于函数内部的转换非常重要。在以前的版...
match status: case 400: return "Bad request" case 401: return "Unauthorized" case 403: return "Forbidden" case 404: return "Not found" case 418: return "I'm a teapot" case _: return "Something else" 最后一个 case 中,case _:类似于 C 和 Java 中的default:,永远不会匹配失败,即当其他...