Python 3.10的发布是全球志愿者所做的伟大工作的结晶,在2021年10 月主导了 Python 社区的新闻周期。在此版本提供新功能的同时,Python 在TIOBE 编程社区索引中被公认为本月的顶级编程语言。

通过参与Python 开发人员调查和回答 PyCon 美国 2022提案征集,您还有一些新的机会来支持社区。

中文新闻文本标题分类python python 新闻_中文新闻文本标题分类python

 

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 分钟内完成它们。今年,有一些新问题将有助于居住的开发商和包装项目经理的工作。