美文网首页大数据 爬虫Python AI Sql
1分钟了解:Python3.8 新特性:赋值表达式

1分钟了解:Python3.8 新特性:赋值表达式

作者: 头顶一根发的程序猿 | 来源:发表于2019-10-17 15:44 被阅读0次

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

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

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

    >>> importre

    >>> data ="hello123world"

    >>> match = re.search("(\d+)", data)# 3

    >>> ifmatch:# 4

    ... num = match.group(1)

    ... else:

    ... num =None

    >>> num

    '123'

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

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

    >>> ifmatch:=re.search("(\d+)", data):

    ... num = match.group(1)

    ... else:

    ... num =None

    ...

    >>> num

    '123'

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

    相关文章

      网友评论

        本文标题:1分钟了解:Python3.8 新特性:赋值表达式

        本文链接:https://www.haomeiwen.com/subject/bafvmctx.html