发布|再不知道就Out了!赶紧看看新发布的Python 3.9这些独特新功能


发布|再不知道就Out了!赶紧看看新发布的Python 3.9这些独特新功能
本文插图

Python 3.9这些独特新功能
引言:
Python 3.9于2020年7月10日发布 。
最新功能令人难以置信 。
比如:
字典联合运算符:
最喜欢的新功能之一 , 具有优美的语法 。 如果有两个字典a并且b需要合并 , 那么现在使用并运算符 。
类型提示:
使用此工具 , 我们的编辑人员可以立即了解问题 。
我们也可以非常详细地了解所包含的类型
两种新的字符串方法
新的Python解析器 -这非常酷 。 但有可能成为Python未来发展中最重大的更改之一 。
Python 3.9于2020年7月10日发布 。 最新功能令人难以置信 。 本文并不会详尽列出每项更改 , 而是列出了下一版对我们来说最有趣和值得注意的事情-开发人员 。 所以 , 让我们开始吧!
类型提示
Python是动态类型的 , 这意味着我们无需在代码中指定数据类型 。
发布|再不知道就Out了!赶紧看看新发布的Python 3.9这些独特新功能
本文插图

无需在代码中指定数据类型
没关系 , 但是有时可能会造成混淆 , 突然之间 , Python的灵活性比其他任何事情都变得更加令人讨厌 。
从3.5开始 , 我们可以指定类型 , 但是非常麻烦 。 此更新确实改变了这一点 , 让我们使用一个示例:

发布|再不知道就Out了!赶紧看看新发布的Python 3.9这些独特新功能
本文插图

在我们的add_int函数中 , 我们显然希望为其自身添加相同的数字(由于某些神秘的未定义原因) 。 但是我们的编辑器并不知道 , 并且使用两个字符串一起添加完全可以 , +因此不会发出警告 。
现在 , 我们可以将期望的输入类型指定为int 。 使用此工具 , 我们的编辑人员可以立即了解问题 。
我们也可以非常详细地了解所包含的类型 , 例如:
发布|再不知道就Out了!赶紧看看新发布的Python 3.9这些独特新功能
本文插图

类型提示可以在任何地方使用-由于有了新的语法 , 现在它看起来更加简洁:
发布|再不知道就Out了!赶紧看看新发布的Python 3.9这些独特新功能
本文插图

新解析器
这更多是视线之外的更改 , 但有可能成为Python未来发展中最重大的更改之一 。
发布|再不知道就Out了!赶紧看看新发布的Python 3.9这些独特新功能
本文插图

新解析器
Python当前使用的主要是基于LL(1)的语法 , 而该语法又可以由LL(1)解析器进行解析 , 该解析器从上到下 , 从左到右地解析代码 , 而前瞻性只是一个标记 。
现在 , 我几乎不知道它是如何工作的 , 但是由于使用了这种方法 , 因此我可以向您介绍Python中的一些当前问题:

Python包含非LL(1)语法;因此 , 当前语法的某些部分使用了变通办法 , 从而造成了不必要的复杂性 。
LL(1)在Python语法中创建了限制(没有可能的解决方法) 。 此问题突出表明 , 以下代码根本无法使用当前解析器实现(引发SyntaxError):
with (open("a_really_long_foo") as foo,open("a_really_long_bar") as bar):pass
LL(1)在解析器中以左递归中断 。 意味着特定的递归语法可能导致解析树中的无限循环 。 Python的创建者Guido van Rossum在这里对此进行了解释 。
所有这些因素(以及我根本无法理解的更多因素)对Python产生了重大影响 。 它们限制了语言的发展 。
基于
PEG
的新解析器将为Python开发人员提供更大的灵活性-从Python 3.10起我们将开始注意到这一点 。
新的字符串函数


推荐阅读