首页 要闻娱乐军事情感奇闻搞笑社会体育游戏百科

python3 Python3.9来了 这十个新特性值得关注

2021-11-03 05:01
选自towardsdatascience

作者:法尔哈德·马利克

机器之心编译

编辑:陈平

近日,Python 3.9 发布,并开发了一些新特性,包括字典合并与更新、新的解析器、新的字符串函数等。

Python 3.9 已于 10 月 5 日发布,新版本的特性,你 get 到了吗?对于 Python 程序员来说,这又是一个令人兴奋的时刻。

Python 3.9于10月5日发布。你了解新版本的特点吗?对于Python程序员来说,这是另一个激动人心的时刻。

与之前的版本相比,Python 3.9有哪些值得讨论的特性?

简而言之,从字典更新 / 合并到添加新的字符串方法,再到 zoneinfo 库的引入,Python 3.9 添加了许多新特性。此外,该版本还引入了一种稳定、高性能的新型解析器。

标准库更新了许多新特性,并添加了新模块 zoneinfo 和 graphlib。此外该版本也对许多模块进行了改进,如 ast、asyncio、concurrent.futures、multiprocessing、xml 等。

标准库中更新了许多新功能,并添加了新模块zoneinfo和graphlib。此外,这个版本还改进了很多模块,比如ast、asyncio、concurrent.futures、多处理、xml等等。

来源:https://Twitter . com/prasoonpratham/status/1313392420038483968

现在让我们一起探索 Python 3.9 的新特性。

Python 3.9: 10个有趣的新特性

1. 字典更新和合并

字典中添加了两个新运算符:“|”和“| =”。“|”运算符用于合并词典,而“| =”运算符用于更新词典。

字典合并:

> > > a = {'farhad': 1,' blog': 2,' python': 3 } > > > > b = { ' farhad': 'malik ',' topic': 'python3.9'} > > > > a | b { ' blog': 2,' python': 3,' Farhad ':' Malik ',' topic ':' python 3.9 ' } > > > b | a { ' Farhad ':1,' blog ':2,' python ':3,' topic ':' python 3.9 ' }

字典更新:

> > > a |= b>>> a{'blog': 2,' python': 3,' farhad':'malik'}

2. 基于 PEG 的高性能解析器

Python 3.9提出用高性能、稳定的PEG解析器取代目前基于LL的Python解析器。

当前的 CPython 解析器基于 LL,LL 解析器是一个自顶向下的解析器,它从左到右解析输入。

Python 3.9提出用新的基于PEG的解析器取代ll,这意味着它将消除当前LL语法对Python的限制。此外,当前的解析器修复了许多将被删除的黑客攻击。因此,从长远来看,这将降低维护成本。

3. 新型字符串函数:删除前缀和后缀

Python 3.9向str对象添加了两个新函数:

第一个函数用于删除前缀:str.removeprefix

第二个函数用于删除后缀:str.removesuffix

'farhad_python'.removeprefix#returns python'farhad_python'.removesuffix#returns farhad

4.为内置泛型类型提供类型提示

Python 3.9 通过删除并行类型层次结构,使注释程序变得更加简单。Python 3.9 支持 typing 模块所有标准集合中的泛型语法。

我们可以直接将列表或字典作为列表和字典的类型进行注释,而不需要依靠键入。因此,代码现在看起来更简单,更容易理解和解释。

def print_value: print# We would get notified if the input is not a string

5.日期时间支持IANA时区

zoneinfo 模块被创建出来支持 IANA 时区数据库。对 IANA 时区数据库的支持已经添加到标准库中。

IANA时区通常被称为tz或时区信息。有许多具有不同搜索路径的IANA时区,用于为日期时间对象指定IANA时区。例如,我们可以通过在datetime对象上设置搜索路径“大陆/城市”来设置tzinfo。

dt = datetime)

如果传入了无效的密钥。将引发ZoneInfoNotFoundError异常。

6. concurrent.futures 优化

并发添加了一个新参数cancel_futures。此参数可以取消尚未执行的并发任务。在Python 3.9之前,主进程只有在所有并发任务完成后才能关闭执行器对象。

新参数 cancel_futures 已被添加到 ThreadPoolExecutor 以及 ProcessPoolExecutor。它的工作方式是:当参数的值为 True 时,在调用 shutdown 函数时取消所有待处理的任务。

7.异步编程和多进程优化

Python 3.9 对异步编程和多进程库进行了优化。

1.出于安全考虑,asyncio . loop . create _ data program _ endpoint不再支持参数reuse_address。

2. 新增了 coroutines、shutdown_default_executor 和 asyncio.to_thread 。shutdown_default_executor 负责关闭默认 executor,asyncio.to_thread 主要用于在一条单独的线程中运行 IO 密集型函数,以避免事件循环。

关于多进程库的改进,Python 3.9增加了一种接近多进程的新方法。SimpleQueue类。

此方法可以显式地关闭队列。这将确保队列关闭并且停留时间不会比预期长。值得注意的是,一旦关闭队列,就不能调用 get、put 和 empty 方法。

8.统一软件包导入错误

Python3.9 之前的版本在导入 Python 库时存在的主要问题是:当相对导入超出其顶级包时,Python 中的导入行为不一致。

内置。__import__在导入库时引发值错误。__import__抛出ImportError。Python3.9版本3.9已经修复,将统一抛出ImportError。

9. 生成随机字节

新的随机函数。在python版本中添加了Random.randbytes。这个函数可以用来生成随机字节。

Python 支持生成随机数,但如果需要生成随机字节呢?在 Python3.9 版本之前,开发人员必须想方设法生成随机字节。尽管他们可以使用 os.getrandom、os.urandom 或者 secrets.token_bytes 来生成随机字节,但这些方法无法生成伪随机模式。

为了确保随机数的生成符合预期的行为,并且该过程可以被再现,开发人员通常将种子与随机数一起使用。随机模块。因此,Python 3.9增加了随机性。Random.randbytes方法以可控的方式生成随机字节。

10. 修复字符串替换函数

在Python版本之前,“”。对于所有非零n,替换返回的空字符串,而不是S。此错误会混淆用户,并导致应用程序的行为不一致。

Python 3.9 修复了该问题,不管 n 是否为 0,其结果都与 "".replace 一致。

"".替换返回“”人们期望看到博客“”。替换返回“人们期望看到|”。replaceHowver返回“前缀”

如果大家想深入了解更多细节,请查阅官方文档:https://docs.python.org/zh-cn/3.9/whatsnew/3.9.html

原始链接:https://towards tasience . com/10-awesome-python-3-9-features-b8c 27 F5 eb5c

爬取UP主弹幕与评论,进行广告投放分析。

10月14日,AWS解决方案架构师何将带来一场直播编码,演示如何利用AWS云服务构建从抓取、处理到分析视频内容的简单数据管道。

原标题:《Python 3.9来了!这十个新特性值得关注》

相关阅读
满文军前妻高晓莹个人资料和图片 两个离婚内幕
最近满文军参加我是歌手之后再一次被大家提起以前的婚姻状态,其实到现在为止满文军已经 有过两段婚姻,不过第一段婚姻以及前妻高晓莹一直都没有被媒体曝光过,下面我们就一起来 看看满文军前妻高晓莹个人资料和图片 两个离婚内幕满文军出身在一个农村家庭,从小没有受到过关于音乐方面的培训,所以在农村早早的就已经结婚,而妻子就是高晓莹满文军结婚之后就离开家里参加歌手比赛,并且获得很多的成绩,随后满文军来到了北京发18在看 07-07
官恩娜整容前后对比 官恩娜整容了吗男友是谁 患上贝尔氏麻痺症
近日,官恩娜出席活动时表情僵硬,因其患上了贝尔氏麻痺症,随后官恩娜整容,官恩娜被男友,官恩娜被强吻,官恩娜演过的电视剧都遭到了热搜,下面wed114带来相关消息。官恩娜16日,官恩娜出席品牌活动时候,拍照表情僵硬,原来她患上了名叫贝尔氏麻痺症。这种病的困扰导致了她半边脸肌肉麻痺,进食时更显困难。Ella在接受围访时更被镁光灯闪至流泪,皆因眼睛都不能完全合起来。而官恩娜幸好得男友悉心照顾,她坦言受这17在看 07-07
娜可露露被分尸 王者荣耀娜可露露秒人技巧 落地秒人技巧分享
王者荣耀中娜可露露这个英雄在目前版本中有不错的秒人能力,娜可露露对敌方的后排的压制力很强势,今天切游小编就为大家带来王者荣耀中娜可露露的秒人技巧分享。出装推荐:巡守利斧 抵抗之靴 暗影战斧 破军 破甲弓 贤者的庇护娜可露露被分尸 王者荣耀娜可露露秒人技巧 落地秒人技巧分享出装解析:第一件装备推荐巡守利斧,作为一件打野装备,巡守利斧可以提升娜可露露的打野速度,增加前期娜可露露的等级成长速度,同时被动16在看 07-07
黄宗泽胡杏儿结婚照曝光 揭秘二人曾经的恋爱史
目前网上曝出一组黄宗泽胡杏儿的结婚照,照片中二人幸福的样子使大家唤起两人曾今甜蜜的时光。随着黄宗泽约会名模杨铮的消息曝出,不由勾起黄宗泽与前女友胡杏儿浪漫爱情史,从二人曾经的结婚照看出彼此之间无比的幸福,照片中拥有甜蜜笑容的黄宗泽与胡杏儿让人记忆深刻,不少网友纷纷表现期望胡宗泽和胡杏儿能够再在一起。下面小编就为大家送上黄宗泽和胡杏儿的结婚照以及二人的恋爱故事。黄宗泽胡杏儿结婚照胡杏儿黄宗泽婚纱照黄18在看 07-07
姓名签名设计免费版 在线姓名签名设计
在线姓名签名设计主要目的是寻求姓名诸字书写的最佳造型,为签名者提供一个能够接受的模式,让他去模仿、去发挥,最后应用于实际签字之中。对姓名诸字,以美学原则和便捷流畅的书写规则加以精心安排,这种对签名的安排即为签名设计。姓名签名设计免费版 在线姓名签名设计艺术签名的魅力,在于方寸之间把自由最大的发挥,营造风格迥异的汉字艺术,张扬不为人知的人格魅力,让心灵得到温存和升华。艺术签名设计是一种互动的艺术,设58在看 07-07

热文排行