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

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

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

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:857662006
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
>>> 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 语句中,可以给变量赋值,这就是赋值表达式。相比之前的版本,代码少了一行。

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:857662006
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
>>> if match:=re.search("(\d+)", data):
...     num = match.group(1)
... else:
...     num = None
...
>>> num
'123'

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

Python3.8 新特性:赋值表达式相关推荐

  1. Python3.8 新特性:仅位置参数

    这是Python3.8新特性的第二篇,第一篇介绍了赋值表达式,这篇文章花几分钟了解什么是仅位置参数(Positional-Only Arguments) 函数传递参数的方式繁多,有位置参数.默认参数. ...

  2. python 3.8 新特性 video_1分钟了解:Python3.8 新特性:仅位置参数

    这是Python3.8新特性的第二篇,第一篇介绍了赋值表达式,这篇文章花几分钟了解什么是仅位置参数(Positional-Only Arguments) 插播一条:我自己是一名从事了多年开发的Pyth ...

  3. Python3.8 新特性:f-strings调试

    f-strings调试 这是Python3.8新特性的第三篇,第一篇介绍了Python3.8 新特性:赋值表达式,第二篇是Python3.8 新特性:仅位置参数.这篇文章介绍f-strings调试功能 ...

  4. Java 8 新特性 lambda表达式

    / Created by Manager on 2021/4/1. Java 8 新特性 lambda表达式 StreamAPI 新日期 新注解 */ 视频连接 1https://www.bilibi ...

  5. Java8新特性----Lambda表达式详细探讨

    Java8新特性 Lambda表达式 入门演示 案例1 如何解决 cannot be cast to java.lang.Comparable问题? 案例2 优化方式一 : 策略设计模式 优化方式二: ...

  6. Python3.10新特性初体验

    Python3.10新特性初体验 注:图片来源 目录 结构模式匹配 [PEP 635] union类型允许X | Y [PEP 604] 带圆括号的上下文管理器 一.结构模式匹配(新增PEP 635) ...

  7. java lambda表达式详解_Java8新特性Lambda表达式详解

    课程目标: 通过本课程的学习,详细掌握Java8新特性之Lambda表达式: 适用人群:有Java基础的开发人员: 课程概述:从Java 8出现以来lambda是最重要的特性之一,它可以让我们用简洁流 ...

  8. jdk1.8新特性_Lambda表达式的引入

    jdk1.8新特性_Lambda表达式的引入 引入 需求: 获取工资大于20000的员工信息 public class Employee {private String name;private in ...

  9. Java 8 新特性Lambda 表达式

    Java 8 新特性Lambda 表达式 一.常用循环 二.匿名内部类 三.排序集合 四.循环打印对象 五.根据条件修改 六.排序 七.求和 八.统计方法 九.材料 一.常用循环 public cla ...

  10. C++11新特性——λ(lambda)表达式详解

    C++11新特性--λ(lambda)表达式 C++11中引入了λ表达式,它可以用来定义一个内联(inline)的函数,作为一个本地的对象或者一个参数.有了λ表达式,我们可以很方便的使用stl标准库. ...

最新文章

  1. TF31003:您的用户帐户没有连接到 Team Foundation Server 的权限
  2. C语言fgets()函数(以指定长度读取文件中的字符,并存入字符数组变量中)
  3. dynamic_cast详解
  4. java i o流异常问题_第四章 Java的I/O流和异常处理
  5. map分组后取前10个_hive中分组取前N个值的实现
  6. Codeforces 837 简要题解
  7. JavaScriptSerializer 类
  8. 电路matlab仿真,matlab电路仿真.doc
  9. android录制视频设置分辨率,Android录制视频的全面屏适配
  10. IDEA maven process terminated
  11. Swagger文档转Word 文档
  12. 什么是:arguments
  13. 杭州电子科技大学2020计算机研究生考研经验贴
  14. 【其他】Tensorflow分布式使用简介
  15. 数据结构《顺序栈》知识点详解+C语言完整代码-超详细
  16. 提升网站流量和排名的方法,SEO优化要这样做
  17. 【C++】【C++ Primer】8-IO库
  18. 实践是检验真理的唯一标准之python array.sum(axis=0)
  19. 花店网站服务器的稳定性报告,在线花店网站系统的设计与实现.doc
  20. 打开System x服务器的IMM2 Web界面

热门文章

  1. 公司--下载svg图片
  2. ExtAspNet v3.1.1
  3. DBHelper 使用的是存储过程
  4. 基于模板引擎的代码生成器Smart Code预览
  5. 菜鸟教程之Microsoft Windows Powershell
  6. linux下软件的安装[转]
  7. 标准评分卡分数计算原理_评分卡模型监控(前端分析)
  8. .pyc文件_python专题shutil高阶文件操作
  9. 关于凭证和冲销凭证的RFC
  10. JAVA调用BAPI创建销售订单