您现在的位置是:亿华云 > 域名
Switch ... Case 语法你支不支持?
亿华云2025-10-09 03:54:09【域名】7人已围观
简介Python3.10 新增了一个语法特性。就是最近一直被热议的 switch-case 语句我刚接触Python的时候,也纳闷Python咋个 switch 语句都没有。后来想明白了, 因为Pytho
Python3.10 新增了一个语法特性。语法
就是支不支持最近一直被热议的 switch-case 语句
我刚接触Python的时候,也纳闷Python咋个 switch 语句都没有。语法
后来想明白了,支不支持 因为Python的语法哲学里面推崇的是简单实用,从Python之禅里面也能窥探一二
任何问题应有一种 且最好只有一种,支不支持 显而易见的语法解决方法在没有 switch … case 语句的时候,我们都是支不支持怎么解决这种问题的呢?
用 if … elif…
例如:
if code == 200: return "ok" elif code == 404: return "no found" elif code == 500 return "error" else: return "unknow"这段代码看起来就很直观,只是语法稍微啰嗦的地方就是免费信息发布网每行都有code==xxx的表达式判断语句
于是,在一些Python最佳实践里面,支不支持某些场景就推荐用字典来实现,语法 例如根据某个变量值返回不同的支不支持结果时
data = { 200: "ok", 404: "no found", 500: "error", } value = data.get(code, "unkonw")很好的解决的代码繁琐的问题。
我们再来看看Python3.10中的语法switch case 怎么用的
http_code = "418" match http_code: case "200": print("OK") do_something_good() case "404": print("Not Found") do_something_bad() case "418": print("Im a teapot") make_coffee() case _: print("Code not found")和其他语言中的switch case 语法差不多,新增了match 关键字,支不支持比Java少了“break”关键字。语法
Python从91年发布到今天经历了30个年头
说真的,没有 switch case 完全不影响开发效率,到3.10引入这么个语法糖出来,b2b供应网只能算是个不痛不痒的功能
真正用在生产环境,也是5、6年之后了,除非后面有重大版本的发布,谁没事瞎折腾跟着你每年升级版本。
要知道,现在依然还有不少老系统还跑着Python2.x
我个人对这种语法糖层面的改进基本是没啥可激动的!你要问我支不支持,我肯定支持,这样以后我也可以理直气壮地跟别人说,谁说Python不支持 swtich case....
本文转载自微信公众号「Python之禅」,可以通过以下二维码关注。转载本文请联系Python之禅公众号。
很赞哦!(83)