Python3.8 新特性 (一):赋值表达式

Python3.8 新特性 (一):赋值表达式Python3.8 正式版本在前两天已经发布,喜欢尝鲜的同学可以下载下来体验一下,我并没有打算升级到最新版本,因为性能上并没有显著提升。但还是有

大家好,欢迎来到IT知识分享网。

Python3.8 新特性 (一):赋值表达式

Python3.8 正式版本在前两天已经发布,喜欢尝鲜的同学可以下载下来体验一下,我并没有打算升级到最新版本,因为性能上并没有显著提升。但还是有必要了解其中的新特性。

赋值表达式的语法是:“ name := expression ”,这个曾经引起很大争议特性,最终还是加入到了 Python3.8。不过它也仅仅只是一个锦上添花的特性。

我们可以通过一个例子来了解它的使用场景。

>>> import re >>> data = "hello123world" >>> match = re.search("(\d+)", data) # 3 >>> if match: # 4 ... num = match.group(1) ... else: ... num = None >>> num '123' 

代码很简单,就是一个使用正则表达式提取字符串中数字部分的操作。之前的做法是先将调用 re.search 方法,返回 Match 对象,然后赋值给变量 match,再判断 match 对象是否为 None 来提取其中的数字部分。

在 Python3.8 中,你可以将第 3、4 行代码合并成一行代码,** 在 if 语句中,可以给变量赋值,** 这就是赋值表达式。相比之前的版本,代码少了一行。

>>> **if match:=re.search("(\d+)", data):** **... num = match.group(1)** ... else: ... num = None ... >>> num '123' 

这样看起来代码确实精简了一点点,但是,这样的特性对开发者来说,只能说是一个不痛不痒的功能,至少对我来是这样。

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

(0)
上一篇 2024-07-01 09:15
下一篇 2024-07-01 18:26

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

关注微信