Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Python3.8还没有捂热,Python3.9这么快就来了

Python3.8还没有捂热,Python3.9这么快就来了

作者头像
用户1667431
发布于 2020-10-26 07:26:41
发布于 2020-10-26 07:26:41
1.5K0
举报
文章被收录于专栏:大数据钻研大数据钻研

还在撸Python3.7?

Python3.8还没有捂热?

Python3.9,这么快就来了?!(外加七个感叹号)

版本迭代速度,直接反馈的是编程语言的活力强度。

Python3.9说来就来,接下来就一起解读下Python3.9的新特性吧!

1

Python3.9新特性

Python3.9新语法特性

  • PEP 584,为 dict 增加合并运算符。
  • PEP 585,标准多项集中的类型标注泛型。
  • PEP 614,放宽对装饰器的语法限制。

内置特性

  • PEP 616,移除前缀和后缀的字符串方法。

标准库中的特性

  • PEP 593,灵活的函数和变量标注。
  • 添加了 os.pidfd_open() ,允许不带竞争和信号的进程管理。

解释器方面的改进:

  • PEP 573,从 C 扩展类型的方法快速访问模块状态。
  • PEP 617,CPython 现在使用基于 PEG 的新解析器。
  • ……

库模块

  • PEP 615,IANA 时区数据库现在已包含于标准库的 zoneinfo 模块。
  • 图的拓扑排序实现现在已由新的 graphlib 模块提供。

2

Python3.9新特性必知图

为了更好地理解此次更新,Twitter上一位16岁少年Pratham Prasoon,还自制了一张Python 3.9新特性必知图」

列出了他认为比较重要的八大新特性,广受网友好评。

字典合并与更新运算符

此次「字典的合并与更新运算符」的新特性,是Python3.9的一大亮点。

合并 (|) 与更新 (|=) 运算符已被加入内置的 dict 类,扩充了现有的 dict.update 和 {**d1, **d2} 字典合并方法。

在Prasoon提供的图中也展示了对应的示例,如下图所示:

新增用于移除前缀和后缀的字符串方法

在Python的官方文档,以及Prasoon的图表中,也着重展示了新的用于「移除前缀和后缀的字符串」方法。

str.removeprefix(prefix)和str.removesuffix(suffix)可以方便地从字符串中,移除不需要的前缀或后缀:

标准多项集中的类型标注泛型

类型标注方面,现在可以使用内置的多项集类型(例如 list 和 dict)作为通用类型,而不必再从 typing 导入对应的大写形式类型名。

__import__()特性修改

__import__() 现在会引发 ImportError 而不是 ValueError。

至于原因,在Python的官方文档中有相应的解释:后者曾经会在相对导入超出其最高层级包时发生。

新增的模块

在新增模块方面,zoneinfo模块为标准库引入了 IANA 时区数据库

这是一个基于系统时区数据的实体 datetime.tzinfo 实现,示例如下图所示。

改进的模块

除了新增的模块外,Python3.9还对原有的一些模块进行了改进。

Prasoon举出了他认为比较重要的一项——Random

名为random.Random.randbytes的方法,可以用于生成随机字节串,如下图所示。

此外,还有cancel_futures

Python3.9将新的 cancel_futures 形参,添加到 concurrent.futures.Executor.shutdown(),可以取消尚未开始运行的所有挂起的 Future,而不必等待它们完成运行再关闭执行器。

当然,除了这八大新特性外,Python官方文档也更为详细地列举了此次更新的内容。

感兴趣的读者可以戳文末链接做更深入的了解。

给Python3.9新特性必知图作者上张照片吧

Pratham Prasoon是一位16岁的印度高中生,对金融充满激情,对编程世界充满好奇,自称是一个科学怪才(science geek)。

作为一名编程人员,他认为自己是「工具不可知」类型选手,也就是说,没有特别唯一是使用的编程语言,而是会根据自己的目的而做出选择。

目前,他正在学习React、 Flask、Django和Tensorflow。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-10-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Java架构笔记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
关于Python3.9,这张「新特性必知图」就够了
为了更好地理解此次更新,Twitter上一位16岁少年Pratham Prasoon,还自制了一张「Python 3.9新特性必知图」。
Python知识大全
2020/10/23
1.2K0
关于Python3.9,这张「新特性必知图」就够了
python3 生成均匀分布随机数_Python 3.9来了!这十个新特性值得关注
近日,Python 3.9 发布,并开发了一些新特性,包括字典合并与更新、新的解析器、新的字符串函数等。
用户7886150
2021/01/28
1.1K0
Python3.9更新文档
版本:3.9.1 日期:2021.1.1 作者:Lukasz Langa python3.9发布于2020.10.5,这里做与python3.8的比较
福贵
2022/02/25
6060
Python3.9正式版即将发布,来看看新特性
Python 正在一直马不停蹄地更新,历时数月,我们迎来了又一个 Beta 版 —— 3.9.0b3,Python 3.9 正式版已经不远了,一起来看它带来了哪些值得开发者关注的重要新特性!
刘早起
2020/07/01
7270
Python3.9正式版即将发布,来看看新特性
Python 3.9 你所需要知道的都在这里
# 只有一行代码,看上去很酷,缺点是这种hack技巧只有在字典的键是字符串时才有效。
用户7886150
2021/01/12
4870
太爽了!Python3.9 的那些新特性
关于多进程库的改进,Python 3.9 向 multiprocessing.SimpleQueue 类添加了新方法 close()。 此方法可以显式地关闭队列。这将确保队列关闭并且停留时间不会比预期长。值得注意的是,一旦关闭队列,就不能调用 get()、put() 和 empty() 方法。
龙哥
2021/07/13
2.1K0
Python 3.9就要来了……,令人兴奋的时刻
本文主要介绍Python3.9的一些新特性,如:更快速的进程释放,性能的提升,简便的新字符串函数,字典并集运算符以及更兼容稳定的内部API,详细如下:
Java架构师必看
2021/03/22
4720
Python 3.9就要来了……,令人兴奋的时刻
Python3.9的7个特性
当Python的新版本问世时,许多人担心向后兼容性问题和其他问题。但是如果你喜欢Python,你一定会对新更新中发布的特性感到兴奋。
磐创AI
2020/11/09
1.1K0
Python3.9的7个特性
Python 3.9来了!这十个新特性值得关注
Python 3.9 已于 10 月 5 日发布,新版本的特性,你 get 到了吗?对于 Python 程序员来说,这又是一个令人兴奋的时刻。
机器之心
2020/10/27
1.2K0
Python 3.9来了!这十个新特性值得关注
Python3.6、3.7、3.8、3.9新特性
本文列举了Python3.6、3.7、3.8、3.9四个版本的新特性,学习它们有助于提高对Python的了解,跟上最新的潮流。
好派笔记
2021/08/21
5.1K0
Python3.6、3.7、3.8、3.9新特性
Python 3.9,来了!
过去一年,来自世界各地的开发者们一直在致力于 Python3.8 的改进。Python 3.9 beta 版本已经存在了一段时间,第一个正式版本于 2020年 10 月 5 日发布。
崔庆才
2020/10/30
2.1K0
Python 3.9,来了!
Python 3.9:最新版本的新特性和改进
Python 3.9是Python编程语言的最新版本,于2020年10月5日发布。这个版本包含了许多新特性和改进,使得Python编程更加方便和高效。在本文中,我们将介绍Python 3.9的一些新特性和改进,并提供相应的代码示例和注释。
王也518
2023/12/22
8050
Python 3.9,来了!
过去一年,来自世界各地的开发者们一直在致力于Python3.8的改进。Python 3.9 beta版本已经存在了一段时间,第一个正式版本于2020年10月5日发布。
派大星的数据屋
2022/04/03
1K0
Python 3.9,来了!
颠覆你认知的Python3.9
从字典更新/合并到添加新的字符串方法,再到引入zoneinfo库,都添加了许多新功能。
用户2966292
2021/03/27
4910
关于Python 3.9,那些你不知道的事
Python的下一个版本带来了更快速的进程释放,性能的提升,简便的新字符串函数,字典并集运算符以及更兼容稳定的内部API。
Ai学习的老章
2020/09/22
5600
关于Python 3.9,那些你不知道的事
Python 3.9 也要来了?
Python 发布了版本号为 3.9.0b3 的 beta 版,后续即将发布 Python 3.9 的正式版。该版本包含了一些令人兴奋的新特性,预计正式版发布以后这些特性能够被大家广泛使用。
数据森麟
2020/07/13
4870
Python 3.10 和 Python 3.9 之间的差异
在过去的几十年里,Python 在编程或脚本语言领域为自己创造了一个名字。python 受到高度青睐的主要原因是其极端的用户友好性。Python 还用于处理复杂的程序或编码挑战。机器学习 (ML)、人工智能 (AI) 和数据科学等新兴领域也满足了学习这种语言的高需求。与 Java、C# 和其他语言等传统语言相比,Python 是一种强大的编程语言,迅速成为开发人员、数据科学家和 AI/ML 爱好者的最爱。
海拥
2021/12/20
3.9K0
Python3.9 终于来了,新功能详细介绍
虽然字符串函数并没有其他特性那么“伟大”,由于非常实用,也值得在这里一提。新版本中添加了移除前缀和后缀的两个字符串函数:
行哥玩Python
2020/07/14
5100
Python3.8 了解的差不多了吧,Python3.9 新特性了解一下!
原文有删改:https://docs.python.org/3.9/whatsnew/3.9.html
kbsc13
2019/10/24
1.8K0
Python 3.9 beta2 版本发布了,看看这 7 个新的 PEP 都是什么?
随着 Python 3.9.0b1 的发布,即开发周期中计划的四个 beta 版本的首个,Python 3.9 的功能已经是完善了。在 10 月发布最终版本之前,还会有许多测试和稳定性方面的工作要做。
Python猫
2020/06/16
5740
相关推荐
关于Python3.9,这张「新特性必知图」就够了
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档