Python 3.9新特性解析

Python 3.9版本在2020年10月发布,带来了一系列实用的新特性。经过一段时间的实践,认为有必要为所有想要学习这些新特性的人写下这篇全面的指南。在开始之前,必须说,对Python 3.9版本的新特性感到非常兴奋,它们中的一些特性在日常应用中表现得非常出色。

为了跟随或尝试最新的特性,需要在系统上安装Python 3.9。截至本文撰写时,Python 3.9.6是能够使用的Python的最新版本。将访问官方网站python.org并点击下载按钮,根据操作系统下载最新版本。

今天将探讨以下特性:

  • 字典函数
  • 注解类型提示
  • 字符串方法
  • IANA时区:ZoneInfo

1. 字典函数

Python使得处理标准数据类型变得简单。Python 3.9通过为字典引入新特性扩展了这一便利。现在字典有了联合操作符,一个用于将两个字典合并成一个新的字典,另一个用于用另一个字典的元素更新一个字典。

在Python 3.8版本中,合并两个字典的方法存在一些缺陷:字典解包看起来混乱,且不易被发现。

x = {1: 'A', 2: 'B', 3:'C'}y = {4: 'D', 5: 'E'}{**x, **y}

另一种方法是dict.update,它更新实际的字典。

x.update(y)print(x)

Python 3.9中的PEP 584引入了两个新的操作符用于字典:

  • (|) 联合 —— 用于合并两个字典。它保持原始字典不变。
  • (|=) 更新 —— 在原地合并两个字典。

注意:如果两个字典中有共同的键,在Python 3.9版本中,第二个字典中的键值对将被用于最终结果。

2. 注解类型提示

Python是动态编写的,这意味着不需要在代码中定义数据类型。这很好,但有时它可能变得复杂,Python的灵活性有时反而成了问题。

在以前的版本中,Python已经扩展了类型提示的支持。类型提示是一个有效的工具,可以确保大型代码库中的一致性,从而使Python代码能够从类型提示中受益。

自3.5版本以来,可以定义类型,但这相当繁琐。这次更新无疑改进了这一点。让通过一个例子来理解:

def addition(n): return n+naddition('A')

现在可以定义所需的输入类型为int。这样做,编辑器会立即发现问题。

def addition(n: int): return n+naddition('A')

提出泛型到常规集合使得注释程序变得更加容易。不再需要在编写模块中并行的类型层次结构。

3. 字符串方法

经常需要以一种简单、可读的方式操作字符串,这种方式能够完成任务,但不会污染代码。

PEP 616添加了新的字符串方法。这些是移除前缀和后缀的新方法,这些操作以前需要大量的手动努力。新方法如下:

  • removeprefix()
  • removesuffix()
沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485