返回顶部
首页 > 资讯 > 后端开发 > Python >Python3.9的新功能有哪些
  • 649
分享到

Python3.9的新功能有哪些

2024-04-02 19:04:59 649人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

这篇文章主要介绍“python3.9的新功能有哪些”,在日常操作中,相信很多人在python3.9的新功能有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python3.

这篇文章主要介绍“python3.9的新功能有哪些”,在日常操作中,相信很多人在python3.9的新功能有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python3.9的新功能有哪些”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

Python 的新方向

此次更新有两个重大变化,虽然直观上不受影响,但要开始注意了:作为一种语言,Python的发展将略有不同。简而言之,可总结为:

  • Python对解析器的限制

  • 版本更小,迭代更频繁

1. LL(1) 和 PEG

大约30年前,吉多·范·罗森写了pgen,这是为 Python  编写的第一批代码之一,至今仍被用作Python的解析器。Pgen的编写基于LL(1)的语法变体,这标志着解析器若要全方位读取代码,只需先行令牌。这也基本上说明Python的开发是有限的,因为:

  • 先行令牌限制了语法规则的表现力。

  • 由于当前Python已包含非LL(1)语法,解析器迂回方案繁杂,使过程复杂化。

  • 即使有这些解决方案,情况也很受限。规则可以改变但不能违反。

  • 使用LL(1)特定的左递归语法可能会使解析树分析无限循环,从而导致栈溢出。

基于LL(1)的解析器的这些属性限制了Python可能实现的价值,而Python  3.9打破了这些限制,这要归功于闪亮新星PEG解析器,PEP617有所概述。我们不会很快感受到这一点。在Python  3.10出来之前,新解析器不会更改;但之后,Python将会冲破LL(1)的限制,大显身手。

2. 开发周期

Python3.9的新功能有哪些

Python的发布计划将从18 个月缩减到 12 个月。

在 3.9 版本发布之前,Python原本的发布计划是间隔18个月一版的,而现在,它进入了为期12个月的发布时间表[PEP  602]。从前新版本每18个月才亮相一次,现在一年一换。这也意味着Python:

  • 不再一次性上线大量新功能。

  • 变化更循序渐进,但由于新功能的发布,修复将会更快完成。

  • 发布日期更规律,新Python将在每年10月面世。

所以从本质上讲,本文主要关注12个月周期内较小的增量变化,而不是每18个月发生的较大变化。与此同时,预计开发速度将保持不变。

二、新功能

1. 类型提示

早在2008年,Python 3就引入了函数注释——类型提示的前身。它虽然不是特别强大,但是一个重要开端。

Python3.9的新功能有哪些

Python类型提示的实时状态是多次添加和修改注释和键入的变化累积。

此后又增加了其他功能。如今,3.9版本将各功能与整洁的新语法结合起来,以取得Python类型提示的最新发展。

现在,我们可以轻松地指定变量的预期数据类型。如果写了一些没有意义的东西(比如把字符串传递给整数),编辑器就会提醒有错误产生。虽然不会指出错误,但在使用复杂代码库时,它可帮了大忙。

在Python中,用“+”连接两个字符串是绝对有效的。因此,“add_int”函数接收两个字符串不会引发任何错误。

Python3.9的新功能有哪些

无类型提示(左);Python3.9带类型提示(右)。

有了新的类型提示功能,只需在函数定义的参数中添加 :int,编辑器就会立即识别错误。

Python3.9的新功能有哪些

指定预期的输入和输出数据类型。

也可以使用->type 语法来确定函数的值输出类型。

Python3.9的新功能有哪些

可将不同类型结合在一起来创建更复杂的注释。

不要局限于简单的预定义类型!

2. 字符串方法

虽然不像其他变化那样酷,但此方法被使用频率极高。有两种用于删除字符串前缀和后缀的新方法:

"foo bar".removeprefix("fo") [Out]: 'o bar'
"foo bar".removesuffix("ar") [Out]: 'foo b'

3. 合并字典

有两个新运算符来合并字典。首先是合并运算符 |:

a = {1: 'a', 2: 'b', 3: 'c'} b = {4: 'd', 5: 'e'}c = a | b print(c)[Out]: {1: 'a', 2: 'b', 3: 'c', 4:'d', 5: 'e'}

然后更新运算符就地合并:

a = {1: 'a', 2: 'b', 3: 'c'} b = {4: 'd', 5: 'e'}a |= b print(a)[Out]: {1: 'a', 2: 'b', 3: 'c', 4:'d', 5: 'e'}

到此,关于“Python3.9的新功能有哪些”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

--结束END--

本文标题: Python3.9的新功能有哪些

本文链接: https://lsjlt.com/news/84393.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Python3.9的新功能有哪些
    这篇文章主要介绍“Python3.9的新功能有哪些”,在日常操作中,相信很多人在Python3.9的新功能有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python3....
    99+
    2024-04-02
  • Python3.9的新特性有哪些
    这篇文章主要讲解了“Python3.9的新特性有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python3.9的新特性有哪些”吧!1. 词典联合运算符这是我最喜欢的功能之一,语法非常优...
    99+
    2023-06-16
  • Python3.9新特性有哪些
    本篇内容介绍了“Python3.9新特性有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!使用 Python 进行相对导包的时候,__im...
    99+
    2023-06-02
  • JDK15有哪些新功能
    这篇文章主要介绍“JDK15有哪些新功能”,在日常操作中,相信很多人在JDK15有哪些新功能问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”JDK15有哪些新功能”的疑惑有所帮...
    99+
    2024-04-02
  • java8有哪些新功能
    这篇文章主要讲解了“java8有哪些新功能”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“java8有哪些新功能”吧!并行流认识开启并行流并行流是什么是把一个...
    99+
    2024-04-02
  • ES2021有哪些新功能
    本篇内容主要讲解“ES2021有哪些新功能”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“ES2021有哪些新功能”吧!简述ES2021(ES12)将于 2021...
    99+
    2024-04-02
  • ubuntu14.04 新功能有哪些
    这篇文章主要介绍“ubuntu14.04 新功能有哪些”,在日常操作中,相信很多人在ubuntu14.04 新功能有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”ubuntu14.04 新功能有哪些”的疑...
    99+
    2023-06-13
  • Java9有哪些新功能
    本篇内容介绍了“Java9有哪些新功能”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1、模块化的源代码JDK 源代码将以模块化的形式组织起来...
    99+
    2023-06-17
  • Flex2.0Beta1新功能有哪些
    这篇文章主要介绍Flex2.0Beta1新功能有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Flex2.0Beta1的新功能Flex2.0产品系列能够使开发者构建丰富、吸引人的基于Web的应用程序,这些应用程序...
    99+
    2023-06-17
  • Flink1.8.0新功能有哪些
    这篇文章主要介绍“Flink1.8.0新功能有哪些”,在日常操作中,相信很多人在Flink1.8.0新功能有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Flink1.8.0新功能有哪些”的疑惑有所帮助!...
    99+
    2023-06-19
  • Laravel8.78有哪些新功能
    本篇内容主要讲解“Laravel8.78有哪些新功能”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Laravel8.78有哪些新功能”吧!Laravel 团队发布了 8.78,能够向默认密码验证...
    99+
    2023-06-26
  • win10有哪些新功能
    Windows 10拥有许多新功能,以下是其中一些:1. 开始菜单:Windows 10还原了传统的开始菜单,它结合了Windows...
    99+
    2023-10-21
    win10
  • Xcode8有哪些新功能
    Xcode 8的一些新功能包括: Swift 3.0:支持最新版本的Swift编程语言。 自动布局调试工具:可以在运行时查看和调试...
    99+
    2023-10-20
    Xcode
  • Laravel10有哪些新功能
    本文小编为大家详细介绍“Laravel10有哪些新功能”,内容详细,步骤清晰,细节处理妥当,希望这篇“Laravel10有哪些新功能”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。Laravel 10 将在用户空间...
    99+
    2023-07-04
  • Web3.0有哪些新功能
    这篇文章主要介绍“Web3.0有哪些新功能”,在日常操作中,相信很多人在Web3.0有哪些新功能问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Web3.0有哪些新功能”的疑惑有所帮助!接下来,请跟着小编一起来...
    99+
    2023-07-04
  • Laravel9.37有哪些新功能
    这篇文章主要介绍“Laravel9.37有哪些新功能”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Laravel9.37有哪些新功能”文章能帮助大家解决问题。Verbose 视图缓存Andrew B...
    99+
    2023-07-04
  • Laravel9.35有哪些新功能
    这篇文章主要介绍“Laravel9.35有哪些新功能”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Laravel9.35有哪些新功能”文章能帮助大家解决问题。备用邮件语法Taylor Otwell ...
    99+
    2023-07-04
  • Android13新功能有哪些
    本文小编为大家详细介绍“Android13新功能有哪些”,内容详细,步骤清晰,细节处理妥当,希望这篇“Android13新功能有哪些”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。新功能和API带主题的应用图标让应...
    99+
    2023-07-05
  • Python 3.9的新功能有哪些
    这篇文章主要介绍“Python 3.9的新功能有哪些”,在日常操作中,相信很多人在Python 3.9的新功能有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python...
    99+
    2024-04-02
  • ECMAScript新版的功能有哪些
    本篇内容主要讲解“ECMAScript新版的功能有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“ECMAScript新版的功能有哪些”吧!replac...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作