Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >颠覆你认知的Python3.9

颠覆你认知的Python3.9

作者头像
用户2966292
发布于 2021-03-27 10:17:09
发布于 2021-03-27 10:17:09
48600
代码可运行
举报
文章被收录于专栏:CoXie带你学编程CoXie带你学编程
运行总次数:0
代码可运行

我通读了python 3.9发行说明和相关的讨论。根据这些信息,我想写一个全面的指南,以便每个人都能一眼了解这些功能及其详细的工作原理

简而言之

从字典更新/合并到添加新的字符串方法,再到引入zoneinfo库,都添加了许多新功能。

此外,已经引入了新的稳定且高性能的解析器。 标准库已更新为具有许多新功能,并增加了新的模块zoneinfographlib。多个模块已经过改进,如ast,asyncio,concurrent.futures,multiprocessing,xml等.

这个版本进一步稳定了Python标准库

字典更新和合并运算符

两个新的运算符,|并且|=已添加到内置dict 类中。 该|运算符用于合并的字典,而|=运营商可用于更新词典。

代码对于合并:|

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
>>> a = {'farhad':1, 'blog':2, 'python':3}   
>>> b = {'farhad':'malik', 'topic':'python3.9'} 
>>> a | b
    {''blog':2,'python':3 ,'farhad':'malik', 'topic':'python3.9'}>>> b | a                     
     {'farhad':1, 'blog':2,'python':3,'topic':'python3.9'}  

更新: =|

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
>>> a | = b
>>> a
    {'blog':2, 'python':3, 'farhad':'malik'}

正如我们在上面看到的,两个新的运算符||=已被添加到内置dict 类中

删除前后缀新字符串

str对象中已添加了两个新功能。

  • 第一个函数删除前缀。是的str.removeprefix(prefix)
  • 第二个功能删除后缀。是的str.removesuffix(suffix)

'coxie_python'.removeprefix('coxie_') # 返回python 'coxie_python'.removesuffix('_python') # 返回coxie

第一个函数删除前缀。这是str.removeprefix(prefix).

第二个功能删除后缀。它是str.removesuffix(suffix).

内置通用类型的类型提示

此版本已启用了键入模块中当前可用的所有标准集合中对泛型语法的支持。 泛型类型通常是一个容器,例如列表。这是可以参数化的类型。参数化的泛型是泛型的实例,具有容器元素的预期类型,例如list [str]

我们可以将listdict内置集合类型用作通用类型,而不是使用typing.List or typing.Dict.

例如,我们可以通过注释代码来指导Python运行时类型检查:

def print_value(input:str): print(input) #如果输入不是字符串,我们将得到通知

举例来说,我们会看到typing.List,typing.Dictionary带有内置一起list,dictionary等。这使我们能够编写代码:

def read_blog_tags(tags:list[str[) -> None for dtag in tags: print("Tag Name",tag)

随机字节生成

在3.9版本中添加的另一个功能是function random.Random.randbytes()。该函数可用于生成随机字节。

我们可以生成随机数,但是如果我们需要生成随机字节怎么办?在3.9版之前,开发人员必须具有创造力才能生成随机字节。尽管我们可以使用,os.getrandom(), os.urandom() or secrets.token_bytes() 但是我们不能生成伪随机模式。

例如,为确保随机数以预期的方式生成且过程可重现,我们通常将种子与random.Random模块一起使用。 结果,random.Random.randbytes()已经引入了方法。它也可以以受控方式生成随机字节。

字符串替换功能修复

在Python 3.9之前的版本中,“”.replace(“”,s,n)对于所有非零n ,返回的空字符串而不是s。 此错误使用户感到困惑,并导致应用程序中行为不一致。 3.9版本已解决此问题,现在与保持一致"".replace("", s)replace 函数的工作方式是,对于给定的最大替换发生参数,它将字符串中的一组字符替换为一组新的字符。

srting.replace(s,old,new,[,maxreplace]) # 返回字符串 s的副本,其中所有出现的子字符串old都被new替换

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

本文分享自 Python不等式 微信公众号,前往查看

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

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Python 3.9来了!这十个新特性值得关注
Python 3.9 已于 10 月 5 日发布,新版本的特性,你 get 到了吗?对于 Python 程序员来说,这又是一个令人兴奋的时刻。
机器之心
2020/10/27
1.1K0
Python 3.9来了!这十个新特性值得关注
python3 生成均匀分布随机数_Python 3.9来了!这十个新特性值得关注
近日,Python 3.9 发布,并开发了一些新特性,包括字典合并与更新、新的解析器、新的字符串函数等。
用户7886150
2021/01/28
1K0
太爽了!Python3.9 的那些新特性
关于多进程库的改进,Python 3.9 向 multiprocessing.SimpleQueue 类添加了新方法 close()。 此方法可以显式地关闭队列。这将确保队列关闭并且停留时间不会比预期长。值得注意的是,一旦关闭队列,就不能调用 get()、put() 和 empty() 方法。
龙哥
2021/07/13
2.1K0
Python3.8还没有捂热,Python3.9这么快就来了
为了更好地理解此次更新,Twitter上一位16岁少年Pratham Prasoon,还自制了一张「Python 3.9新特性必知图」。
用户1667431
2020/10/26
1.5K0
Python3.8还没有捂热,Python3.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新特性
关于Python3.9,这张「新特性必知图」就够了
为了更好地理解此次更新,Twitter上一位16岁少年Pratham Prasoon,还自制了一张「Python 3.9新特性必知图」。
Python知识大全
2020/10/23
1.2K0
关于Python3.9,这张「新特性必知图」就够了
Python 3.9就要来了……,令人兴奋的时刻
本文主要介绍Python3.9的一些新特性,如:更快速的进程释放,性能的提升,简便的新字符串函数,字典并集运算符以及更兼容稳定的内部API,详细如下:
Java架构师必看
2021/03/22
4660
Python 3.9就要来了……,令人兴奋的时刻
Python 3.9 你所需要知道的都在这里
# 只有一行代码,看上去很酷,缺点是这种hack技巧只有在字典的键是字符串时才有效。
用户7886150
2021/01/12
4820
关于Python 3.9,那些你不知道的事
Python的下一个版本带来了更快速的进程释放,性能的提升,简便的新字符串函数,字典并集运算符以及更兼容稳定的内部API。
Ai学习的老章
2020/09/22
5540
关于Python 3.9,那些你不知道的事
Python 3.10 和 Python 3.9 之间的差异
在过去的几十年里,Python 在编程或脚本语言领域为自己创造了一个名字。python 受到高度青睐的主要原因是其极端的用户友好性。Python 还用于处理复杂的程序或编码挑战。机器学习 (ML)、人工智能 (AI) 和数据科学等新兴领域也满足了学习这种语言的高需求。与 Java、C# 和其他语言等传统语言相比,Python 是一种强大的编程语言,迅速成为开发人员、数据科学家和 AI/ML 爱好者的最爱。
海拥
2021/12/20
3.8K0
Python 3.9,来了!
过去一年,来自世界各地的开发者们一直在致力于Python3.8的改进。Python 3.9 beta版本已经存在了一段时间,第一个正式版本于2020年10月5日发布。
派大星的数据屋
2022/04/03
1K0
Python 3.9,来了!
Python 3.9,来了!
过去一年,来自世界各地的开发者们一直在致力于 Python3.8 的改进。Python 3.9 beta 版本已经存在了一段时间,第一个正式版本于 2020年 10 月 5 日发布。
崔庆才
2020/10/30
2.1K0
Python 3.9,来了!
Python3.9的7个特性
当Python的新版本问世时,许多人担心向后兼容性问题和其他问题。但是如果你喜欢Python,你一定会对新更新中发布的特性感到兴奋。
磐创AI
2020/11/09
1.1K0
Python3.9的7个特性
你知道Python 3.10 和 Python 3.9 之间的差异吗?
在过去的几十年里,Python 在编程或脚本语言领域为自己创造了一个名字。python 受到高度青睐的主要原因是其极端的用户友好性。
程序员小新
2021/12/13
6.1K0
有意思的 lstrip 和 removeprefix(Python 3.9)
Python 3.9 的新特性中,有两个新的字符串方法:str.removeprefix(prefix, /)、str.removesuffix(suffix, /),前者是去除前缀,后者是去除后缀。
Alan Lee
2020/05/26
1.2K0
[译] Python各版本的主要更改
本文总结了Python 3.7到3.12的语法及标准库的主要更改,并且介绍了typing模块的主要更改。此外,还提到了各个版本的EOL(End of Life,Python官方不再提供安全补丁的日期)。
一只大鸽子
2024/03/04
5830
[译] Python各版本的主要更改
Python3.9更新文档
版本:3.9.1 日期:2021.1.1 作者:Lukasz Langa python3.9发布于2020.10.5,这里做与python3.8的比较
福贵
2022/02/25
5980
Python 3.9 值得关注的更新点
2020年8月19日,Python 最新释放bate版本 3.9.0rc1,呼之欲出的新版,提前来看看吧~
生信菜鸟团
2020/08/28
5550
Python 3.9 值得关注的更新点
Python 3.9 beta2 版本发布了,看看这 7 个新的 PEP 都是什么?
随着 Python 3.9.0b1 的发布,即开发周期中计划的四个 beta 版本的首个,Python 3.9 的功能已经是完善了。在 10 月发布最终版本之前,还会有许多测试和稳定性方面的工作要做。
Python猫
2020/06/16
5640
Python 3.9:最新版本的新特性和改进
Python 3.9是Python编程语言的最新版本,于2020年10月5日发布。这个版本包含了许多新特性和改进,使得Python编程更加方便和高效。在本文中,我们将介绍Python 3.9的一些新特性和改进,并提供相应的代码示例和注释。
王也518
2023/12/22
7810
相关推荐
Python 3.9来了!这十个新特性值得关注
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验