Python 3.10的发布是全球志愿者所做的伟大工作的结晶,在2021年10 月主导了 Python 社区的新闻周期。在此版本提供新功能的同时,Python 在TIOBE 编程社区索引中被公认为本月的顶级编程语言。
通过参与Python 开发人员调查和回答 PyCon 美国 2022提案征集,您还有一些新的机会来支持社区。
让我们深入了解过去一个月最大的Python 新闻!
python学习资源汇总腾讯文档-在线PDFhttps://docs.qq.com/pdf/DR1doYmNBYUZ3RVNX
Python 3.10 版本
现在每年都会发布新版本的 Python 。我们可以期待核心开发人员每年 10 月与我们其他人分享一个可爱的好礼包。随着 Python 3.10 于 10 月 4 日发布测试版,每个人都有一些令人兴奋的期待。
Python 的每个版本都有一个发布经理,负责协调所有更改以及构建和准备分发文件。Python 3.10 和 3.11 的发布经理是Pablo Galindo Salgado。作为 Python 的第一次,他构建并在 YouTube 上实时发布了 Python 。
Python 3.10 亮点
新版本包括对该语言的许多改进。我们最喜欢的是改进的错误消息、类型联合的简化语法和结构模式匹配。
改进的错误消息将使您的生活更轻松,无论您是新的 Python 开发人员还是经验丰富的开发人员。特别是,当您的代码无效 Python时,您获得的反馈在 Python 3.10 中比在以前的版本中更具针对性和可操作性。例如,请考虑以下代码,其中第一行末尾没有右括号:
news = ["errors", "types", "patterns"
print(", ".join(news))
在 Python 3.9 及更早版本中,如果您尝试运行此代码,您将看到以下内容:
File "errors.py", line 2
print(", ".join(news))
^
SyntaxError: invalid syntax
该invalid syntax
解释不是很有见地。更糟糕的是,报告的行号是错误的。实际错误发生在第 1 行,而不是第 2 行,如错误消息所述。Python 3.9 中引入的新解析器允许更好的反馈:
File "errors.py", line 1
news = ["errors", "types", "patterns"
^
SyntaxError: '[' was never closed
行号是正确的,随附的解释中肯。这将允许您直接进入,修复错误并继续编码!
类型联合的简化语法允许您使用类型提示,通常无需任何额外的导入。您可以使用类型提示来注释您的代码,从您的编辑器获得更多支持,并更早地捕获错误。
该typing模块是将静态类型添加到 Python 的核心。但是,在最近的几个版本中,越来越多的工具已从typing
内置功能转移到内置功能。在Python 3.10,你被允许使用管道操作符(|
)来指定,而不是导入型工会Union
的typing
。以下代码片段显示了新语法的示例:
def mean(numbers: list[float | int]) -> float | None:
return sum(numbers) / len(numbers) if numbers else None
的注释number
指定它应该是float
和int
对象的列表。以前,您可能将其编写为List[Union[float, int]]
. 类似地,返回值的注解float | None
, 是类型联合的特例,您也可以将其写为Optional[float]
。新语法意味着您甚至可以在不导入typing
.
结构模式匹配是处理数据结构的一种强大方式,您可能从 Elixir、Scala 和 Haskell 等函数式语言中了解到这些数据结构。我们在3 月和8 月的时事通讯中预览了此功能。
当您需要操作列表、字典、数据类或其他结构时,结构模式匹配是最好的选择。下面的示例实现了一个递归函数,该函数对数字列表求和。它让您快速了解新语法:
def sum(numbers, accumulator=0):
match numbers:
case []:
return accumulator
case [head, *tail]:
return sum(tail, accumulator + head)
此代码用于accumulator
跟踪运行总数。您匹配numbers
两种不同的情况。
在第一种情况下,numbers
是一个空列表。由于您不需要在总和中添加更多,您可以返回accumulator
. 第二种情况说明了当列表中至少有一个元素时要做什么:您将第一个元素命名为head
,然后将列表的其余部分命名为tail
。您添加head
到运行总数中,然后递归调用sum()
其余元素。
您可以使用if
语句实现相同的算法。然而,新语法开辟了一种更实用的 Python 代码思考方式,这可能是一个有趣的探索途径。
在我们的专用教程中深入了解这些改进的细节,以及 Python 3.10 中的所有其他新功能。
通常,新 Python 版本的实际发布是闭门进行的。虽然提前公布,但下载新版本的链接往往会突然出现。
今年不一样!来自Python Discord 的发布经理 Pablo Galindo Salgado 和Leon Sandøy邀请所有人参加YouTube 上的直播派对。尽管互联网日子不好过,但直播效果很好,我们都可以看到 Pablo 运行他的神奇脚本,使 Python 可供全世界使用。
除了 Pablo 和 Leon 之外,还有其他几位核心贡献者加入了聚会:
- Łukasz Langa介绍了打字系统的更新。
- Brandt Bucher介绍了结构模式匹配。
- Carol Willing主持了一场关于Python 社区的讨论。
- Irit Katriel展示了如何为 CPython 开发做出贡献。
流仍然可用。如果您有兴趣在引擎盖下获得独特的外观并了解发布新版本 Python 需要什么,请检查一下。
Python 在 TIOBE 的第一名
在TIOBE编程社区指数是编程语言流行的一个指标。它基于来自搜索引擎的结果,并已被跟踪了 20 多年。
在 10 月份的排名中,Python 首次登上了第一的位置。事实上,这是第一次没有命名为 Java 或 C 的语言位居榜首。
虽然这只是一个索引,但结果证实 Python 是一种非常流行的编程语言,人们对它仍然很感兴趣,在线提供了许多可供开发人员使用的优质资源。
2021 年 Python 开发人员调查
年度Python 开发人员调查已开放。这项调查对于了解社区如何使用 Python 语言及其支持的生态系统非常重要。早些年的结果提供了很多见解。这些结果是社区许多部分规划如何使用其有限资源的重要输入。
如果您可以提供答案,您可以打开调查。问题非常多样化,但您可以计划在大约 10 到 15 分钟内完成它们。今年,有一些新问题将有助于居住的开发商和包装项目经理的工作。
PyCon US 2022:征集提案
对于准备PYCON美国2022正在顺利进行。会议将于明年4月27日至5月5日在盐湖城举行。像往常一样,会议将包括两天的教程研讨会、三天的演讲和其他演示,以及四天的冲刺,您可以与社区中的其他 Python 编码人员一起工作。
如果您想在 PyCon 上发表演讲,请查看提案征集。提交提案的截止日期为 2021 年 12 月 20 日。您可以贡献四种演示文稿:
- 会谈时间通常为 30 分钟,在主要会议日(4 月 29 日至 5 月 1 日)举行。
- Charlas是用西班牙语进行的演讲。4 月 29 日,星期五,将有一个 charlas 曲目。
- 教程是在会议的前两天(4 月 27 日和 4 月 28 日)进行的为期三小时的研讨会。
- 在主要会议日,即 4 月 29 日至 5 月 1 日,在会议厅展示海报。
PyCon 鼓励任何人提交提案,而与您的经验水平无关。转到 PyCon 的提交页面以了解更多信息。
浏览器中的 Visual Studio Code
在Visual Studio代码编辑器是许多Python开发者的最爱。作为10 月发布的一部分,该编辑器以完全在您的浏览器中运行的零安装版本提供。
您可以通过导航到vscode.dev来打开 VS Code 网页版。到达那里后,您可以在受支持的浏览器上打开文件(甚至目录)并开始工作。有一些功能不受支持,包括终端和调试器。尽管如此,您仍然可以使用桌面版本中习惯的大多数功能和扩展程序获得良好的编辑体验。
Web 编辑器可让您即时访问存储在GitHub或Azure 中的代码。您可以导航到存储库,然后vscode.dev
在 URL 前面添加以在编辑器中打开它。例如,您可以github.com/realpython/reader
通过输入vscode.dev/github.com/realpython/reader
您的 URL来打开存储库。这类似于(但不完全相同).在您查看 GitHub 中的存储库时按下以启动编辑器。
python学习资源免费领取腾讯文档-在线PDFhttps://docs.qq.com/pdf/DR1doYmNBYUZ3RVNX
Python 的下一步是什么?
十月对于 Python 来说总是一个激动人心的月份,它发布了该语言的新版本。在Real Python,我们期待着进一步深入研究 Python 3.10,我们迫不及待地想看看11 月为我们准备了哪些新东西。
10 月份你最喜欢的Python 新闻是什么?我们错过了什么值得注意的事情吗?在评论中告诉我们,我们可能会在下个月的 Python 新闻综述中介绍您。
快乐的蟒蛇!