switch怎么读(switch谐音怎么读)

机器心脏报告编辑:陈平你不必自己想办法实现switch函数。Python是从事数据科学和人工智能的人首选的编程语言。根据最近的一项调查,27%的程序员开发职位要

机器心脏报告

编辑:陈平

你不必自己想办法实现switch函数。

Python是从事数据科学和人工智能的人首选的编程语言。根据最近的一项调查,27%的程序员开发职位要求掌握Python,而今年年初这一比例为18.5%。

Python之所以受欢迎,在于它的直观能力:该语言拥有大量的库,足够高的生产力,并且相对容易学习。去年10月,Python 3.9版本正式发布。从字典更新/合并到添加新的字符串方法,再到zoneinfo库的引入,Python 3.9添加了许多新特性。

Python3.10的第二个alpha版本也于去年11月初发布。与不久前发布的3.9版本相比,新版本在类型注释扩展、zip、位计数和字典映射上有了新的改进。就在昨天,Python 3.10 beta发布。也许新测试版最大的亮点是switch-case语句的引入。

Python 3.10测试版的新改进

Switch语句存在于很多编程语言中,但是Python编程语言不支持Switch语句。早在2016年就提出了PEP 3103,建议Python支持switch-case语句。但是在调查中发现,很少有人支持这个特性,Python开发者放弃了它。

2020年,Python的创始人吉多·范·罗苏姆提交了第一个显示switch语句的文档,命名为结构化模式匹配,如PEP 634所示。

现在,随着Python 3.10测试版的发布,终于包含了switch-case语句。

带括号的上下文管理器:现在支持在上下文管理器中使用括号跨多行继续。您也可以在包含组的末尾使用逗号。

With (ctxmanager1 () asexample1,ctxmanager2 () asexample2,ctxmanager3 () asexample3),:...错误消息-NameErrors:当打印由解释器引起的NameError时,PyErr_Display()将在抛出异常的函数中提供相似变量名的建议:

switch怎么读(switch谐音怎么读)插图

PEP 634结构化模式匹配:模式匹配允许用户在匹配后遵循几个case语句。当程序执行match-case时,如果有匹配的语句,程序会输入相应的case语句来执行操作。

匹配大小写语法和操作:模式匹配的一般语法是:

匹配主题:case & ltpattern _ 1 & gt:& ltaction _ 1 & gt案例& ltpattern _ 2 & gt:& ltaction _ 2 & gt案例& ltpattern _ 3 & gt:& ltaction _ 3 & gtcase _:& lt;action _ wildcard & gtmatch语句接受一个表达式,并将其值与作为一个或多个case块给出的连续模式进行比较。匹配案例的示例如下:

http _ code = & # 34418"匹配http _ code:case & # 34;200":打印(& # 34;好& # 34;)做_点_好事()案例& # 34;404":打印(& # 34;没有找到& # 34;)do _ something _ bad()case & # 34;418":打印(& # 34;我& # 39;我是茶壶& # 34;)make _ coffee()case _:print(& # 34;找不到代码& # 34;下图显示了match-case语句的执行图。该程序将检查多个案例条件,并根据变量http_code中的值执行不同的操作。

switch怎么读(switch谐音怎么读)插图(1)

同样,您也可以使用一组if-elif-else语句来构建相同的逻辑:

http _ code = & # 34418"如果http _ code = = & # 34418":打印(& # 34;好& # 34;)do _ something _ good()elif http _ code = = & # 34;404":打印(& # 34;没有找到& # 34;)do _ something _ bad()elif http _ code = = & # 34;418"打印(& # 34;我& # 39;我是茶壶& # 34;)make _ coffee()else:print(& # 34;找不到代码& # 34;)但是,通过使用match-case语句,删除了http_code ==的重复执行。当在测试许多不同的条件时使用match-case时,http_code ==看起来更清楚。

我们可以通过一个简单的例子来了解模式匹配:用C、Java或JavaScript(以及许多其他语言)中的switch语句将对象(数据对象)与文本(模式)进行匹配。switch语句通常用于将对象/表达式与包含文本的case语句进行比较。

虽然使用嵌套if语句的命令式指令系列可以用来完成类似于结构模式匹配的任务,但不如声明式方法清晰。相反,声明性方法声明匹配要满足的条件,并且通过它们的显式模式更具可读性。虽然结构模式匹配可以以最简单的形式用于将变量与case语句中的文本进行比较,但它对Python的真正价值在于它对对象类型和大小的处理。

Match-case可以说是Python 3.10这个测试版的最大亮点。对于这种表达,有人喜欢,有人讨厌。在Python不支持switch-case之前,大家大概都是用字典进行相关操作。有人说switch除了方便阅读之外没有任何优势;还有人说Python的闭包机制,dict的值可以是带闭包的函数,让表达能力比switch-case多上一层楼;但是Python 3.10的测试版已经包含了switch-case,为开发者提供了另一种选择。

欲了解更多信息,请参考:https://docs.python.org/3.10/whatsnew/3.10.html

参考:https://to wards data science . com/switch-case-statements-are-coming-to-python-d 0 caf 7 bfd 3

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。

作者:美站资讯,如若转载,请注明出处:https://www.meizw.com/n/60049.html

发表回复

登录后才能评论