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

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

3天内不再提示

四个有趣的关于Python 3.9版本新特性

如意 来源:Python实用宝典 作者:Ckend 2020-10-08 14:47 次阅读

1. 词典联合运算符

这是我最喜欢的功能之一,语法非常优美。

Python3.9,如果你有两个词典,现在可以用这些运算符进行合并和更新。

合并运算符 “|”:

四个有趣的关于Python 3.9版本新特性

还有update运算符|=,它会更新原始字典:

a = {1: ‘a’, 2: ‘b’, 3: ‘c’}

b = {4: ‘d’, 5: ‘e’}

a |= b

print(a)

{1: ‘a’, 2: ‘b’, 3: ‘c’, 4: ‘d’, 5: ‘e’}

如果我们的词典共享一个key,那么将使用第二个词典中的value:

a = {1: ‘a’, 2: ‘b’, 3: ‘c’, 6: ‘in both’}

b = {4: ‘d’, 5: ‘e’, 6: ‘but different’}

print(a | b)

{1: ‘a’, 2: ‘b’, 3: ‘c’, 6: ‘but different’, 4: ‘d’, 5: ‘e’}

使用可迭代对象进行字典更新

|=操作符的另一个很酷的特性是能够使用可迭代对象(例如列表或生成器)使用新的键值对更新字典:

a = {‘a’: ‘one’, ‘b’: ‘two’}

b = ((i, i**2) for i in range(3))

a |= b print(a)

{‘a’: ‘one’, ‘b’: ‘two’, 0: 0, 1: 1, 2: 4}

当然,如果你用|这样做,则会得到TypeError,因为它只能用于dict类型之间的联合。

四个有趣的关于Python 3.9版本新特性

2. 字符串方法

removeprefix()和removesuffix()

str.removeprefix(substring: string) 是一个方法,接收一个substring参数,顾名思义,它将删除字符串对应的substring前缀,如果没有对应的前缀,返回原字符串。

str.removesuffix(substring: string) 是一个方法,接收一个substring参数,它将删除字符串的对应substring后缀,如果没有对应的后缀,返回原字符串。

当然,两个函数执行你可以通过使用string[len(prefix):]前缀和string[:-len(suffix)]后缀来实现。

这些是非常简单的操作,因此也是非常简单的功能,考虑到你可能经常执行这些操作,Python3.9 提供的这两个内置函数应该能让你非常爽。

3. 新的数学函数

Python 3.9 的数学模块进行了不少的优化并添加了许多新功能。

比如以前gcd计算最大公因数的函数只能应用于2个数字,这就很蛋疼,我们必须使用 math.gcd(80, math.gcd(64, 152))来处理大于2个数字的情况。

现在 gcd 允许计算任意数量的数字。

import math

# Greatest common divisor

math.gcd(80, 64, 152)

# 8

Math模块中,第一个新增的功能是:

# 最小公倍数

math.lcm(4, 8, 5)

# 40

用于计算最小公倍数:math.lcm,与gcd一样,它允许可变数量的参数。

4. 新的解析器—PEG

这一个更改你可能看不见、摸不着,但它可能改变Python的未来。

以前Python使用 LL(1) 解析器,从Python 3.9 开始,将使用 PEG 解析器,官方认为,这个更改会使得他们更加方便地构建新功能。

因此,请期待Python 3.10,Python团队或许能给我们带来更多的惊喜!
责编AJX

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

    关注

    1

    文章

    577

    浏览量

    20485
  • 源代码
    +关注

    关注

    96

    文章

    2944

    浏览量

    66657
  • python
    +关注

    关注

    55

    文章

    4778

    浏览量

    84439
收藏 人收藏

    评论

    相关推荐

    Python版本兼容性处理方法

    Python目前有两版本并存,这很让人苦恼。虽然Python 3有许多优于Python 2的特性
    发表于 04-28 15:42

    请问Python3.9的新功能是什么?

    。如果您实在迫不及待,可以在此处获取最新的Beta版本-3.9.0b3。  上述就是关于Python3.9的新功能是什么的全部内容介绍,想了解更多关于
    发表于 09-02 18:55

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

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

    来自无管局的四个关于微功率短距离无线电设备的回答

    来自无管局的四个关于微功率短距离无线电设备的回答。
    的头像 发表于 01-18 10:35 4987次阅读

    希捷推出BarraCuda SSD新品:采用SATA 6Gbps 接口,提供四个版本的容量

    希捷将面向 PC市场推出“酷鱼”(BarraCuda)系列 SSD,该系列SSD2.5形态规格,采用SATA 6Gbps 接口,提供四个版本的容量250GB、500GB、1TB、2TB,满足PC、一体机、笔记、家用服务器等升级
    发表于 08-10 16:05 2050次阅读

    电容的四个主要特性

    电容的种类很多,几乎所有的电子元件上都要用到电容,根据工艺和功能,主要分为两大类,固体电容和可变电容,固体电容中又分为无极性固体电容和有极性固体电容,不同的电容功能还略有差异,下面我们来说说电容的四个主要特性(功能).
    的头像 发表于 10-21 18:03 6.2w次阅读

    java四个引用的作用

    是JDK1.2版本开始引入,把对象的引用分为4等级,我们平时学习的就是种的第一级的强引用,说白了,就Object o = new Object(),四个引用分别是强引用、软引用、弱
    的头像 发表于 05-05 18:25 2645次阅读

    四个方面解读PCB射频电路基础特性及重要因素

    此处将从射频界面、小的期望信号、大的干扰信号、相邻频道的干扰四个方面解读射频电路大基础特性,并给出了在 PCB 设计过程中需要特别注意的重要因素。
    发表于 08-07 14:42 926次阅读

    Python3.9的新特性必知图

    Python3.9,「千呼万唤始出来」。 先来速看下此次发布版本的重点。 新语法特性: PEP 584,为 dict 增加合并运算符。 PEP 585,标准多项集中的类型标注泛型。 PEP 614
    的头像 发表于 11-05 15:33 2019次阅读

    Python3.9的第一维护版本候选版本发布

    近期,Python 3.9的第一维护版本候选版本发布。 IT之家获悉,Python 3.9.1
    的头像 发表于 12-08 09:22 1657次阅读

    Python 3.11与之前Python 版本差异情况

    2022 年 6 月星期发布。除了新的语言特性和其他改进之外,Python 3.11 看起来性能表现优异,相较之前的 Python 3.x 版本
    的头像 发表于 07-22 10:51 4799次阅读

    关于MySQL8.0版本选型的小技巧

    MySQL 8.0 第一GA(General Availability)版本(正式、可用于生产的版本)于2018/4/19发布至今已有3年。8.0是一全新的
    的头像 发表于 03-29 13:45 1112次阅读
    <b class='flag-5'>关于</b>MySQL8.0<b class='flag-5'>版本</b>选型的小技巧

    四个腿的电感是什么?有什么作用?

    四个腿的电感是什么?有什么作用? 四个腿的电感是指由条腿组成的电路,其作用是用于检测或测量电导率,阻抗和电容等电学特性。这种电感器适用于许多不同的应用,例如精密仪器、航空航天、医疗设
    的头像 发表于 10-31 14:43 1434次阅读

    关于Python3.9的4特性

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

    时间序列分析的四个基本Python库介绍

    在本文中,我们将介绍四个主要的Python库——statmodels、tslearn、tssearch、 tsfresh ——每个库都针对时间序列分析的不同方面进行了定制。这些库为从预测到模式识别
    的头像 发表于 11-03 10:17 808次阅读
    时间序列分析的<b class='flag-5'>四个</b>基本<b class='flag-5'>Python</b>库介绍