0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Python3.9的新特性必知图

人工智能与大数据技术 来源:人工智能与大数据技术 作者:人工智能与大数据 2020-11-05 15:33 次阅读

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 模块提供。

为了更好地理解此次更新,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官方文档也更为详细地列举了此次更新的内容。

责任编辑:xj

原文标题:关于Python3.9,看这张16岁高中生做的「新特性必知图」就够了

文章出处:【微信公众号:人工智能与大数据技术】欢迎添加关注!文章转载请注明出处。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • python
    +关注

    关注

    51

    文章

    4674

    浏览量

    83462
  • 编程语法
    +关注

    关注

    0

    文章

    7

    浏览量

    6906
  • 运算符
    +关注

    关注

    0

    文章

    163

    浏览量

    10945

原文标题:关于Python3.9,看这张16岁高中生做的「新特性必知图」就够了

文章出处:【微信号:TheBigData1024,微信公众号:人工智能与大数据技术】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    Python Web框架Django 5.0新特性

    根据 JetBrains 公布的 2022 Python 开发者调查结果,Python Web 框架的三巨头依旧是 Flask、Django 和 FastAPI。Django 和 Flask 的使用率排名并列第一。
    的头像 发表于 12-06 13:37 612次阅读

    python shell怎么用

    Python Shell是一种交互式解释器,可以通过命令行直接运行Python代码。在Shell中,可以输入一行代码并立即得到结果,非常适合于测试、尝试新代码或进行简单的任务。本文将详细介绍
    的头像 发表于 11-29 14:36 369次阅读

    如何运行Python程序

    运行Python程序非常简单。Python是一种解释型语言,这意味着可以直接通过解释器来执行代码。下面我将详细介绍如何运行Python程序。 一、安装Python 在运行
    的头像 发表于 11-24 09:31 689次阅读

    Python2与Python3的差异

    Python2与Python3是两个不同的版本,它们在语法、功能和性能等方面存在一些差异。下面是对Python2和Python3的详尽、详实、细致的比较,分为以下几个方面: 语法差异
    的头像 发表于 11-23 16:48 347次阅读

    Python自带的命令窗口

    Python自带的命令窗口,也称为Python交互式解释器,是Python编程语言的一个重要工具,它允许用户在命令行界面中输入和执行Python代码。不同于编写脚本并保存为文件后再执行
    的头像 发表于 11-22 14:02 426次阅读

    电工的基础知识#电工

    电子元器件电子电工
    jf_55975348
    发布于 :2023年11月18日 08:59:08

    collections:一款强大的内置容器

    )中,后续将在python3.9版本全部整合至collections.abc模块。 collections模块提供了9种容器类型 (适用于python3.8及更早版本) collections模块当前包括9类容器接口,本文主要介绍其中比较
    的头像 发表于 11-01 11:38 6388次阅读
    collections:一款强大的内置容器

    关于Python3.9的4个新特性

    1.词典联合运算符 这是我最喜欢的功能之一,语法非常优美。 在Python3.9,如果你有两个词典,现在可以用这些运算符进行合并和更新。 合并运算符 "|": 还有update运算符 |= ,它会
    的头像 发表于 10-31 14:46 213次阅读
    关于<b class='flag-5'>Python3.9</b>的4个新<b class='flag-5'>特性</b>

    Python3.10.0的特性介绍

    Python3.10.0有几个特性,还真是值得和大家讲讲。 1. 更友好的错误提示 Python 3.10以前,它是这样提示的,你可能完全不知道哪里有问题,当代码过多。 print ( "Hello
    的头像 发表于 10-31 10:43 216次阅读
    <b class='flag-5'>Python</b>3.10.0的<b class='flag-5'>特性</b>介绍

    Python SDK包的使用

    Shodan Web端非常好用,但如果我们有从 Python 搜索的需求怎么办? 没关系,Shodan 官方也提供了 Python SDK 包,下面就来讲讲这个 SDK 包的使用。 1.准备 开始
    的头像 发表于 10-30 15:51 415次阅读
    <b class='flag-5'>Python</b> SDK包的使用

    Python 3.8:海象运算符的三种用法

    Python 版本发展非常快,如今最新的版本已经是 Pyhton 3.9,即便如此,有很多人甚至还停留在 3.6 或者 3.7,连 3.8 还没用上。 很多 Python 3.8 的特性
    的头像 发表于 10-21 11:07 246次阅读

    使用Python3.10安装Openvino-Dev Pip包失败了是为什么?

    : legacy-install-failure × Encountered error while trying to install package. ╰─> numpy 分辨率OpenVINO™ Toolkit 2022.2 仅在 Windows* 上支持 Python* 版本 3.6 -
    发表于 08-15 07:18

    OpenVINO工具套件和Python版本 3.9运行install_prerequisites.sh脚本报错

    已安装OpenVINO™工具套件和 Python* 版本 3.9。 运行 install_prerequisites.sh 脚本。 遇到错误: ERROR: Could not find a
    发表于 08-15 06:53

    Python2与Python3中对字符串的支持

    其实Python3中对字符串支持的改进,不仅仅是更改了默认编码,而是重新进行了字符串的实现,而且它已经实现了对UNICODE的内置支持,从这方面来讲Python已经和JAVA一样优秀。下面我们来看
    的头像 发表于 07-05 16:15 525次阅读

    onnxruntime-1.8.2-r0 do_package_qa:QA 运行发现致命错误怎么解决?

    我正在“按原样”使用 BSP 构建并收到错误... 错误:onnxruntime-1.8.2-r0 do_package_qa:QA 问题:/usr/lib/python3.9
    发表于 04-28 08:03