Python 新闻:2021 年 5 月以来的新增内容

2023-10-14

如果您想快速了解世界上发生的事情Python2021 年 5 月,那么您来对地方了消息!

五月是发生重大事件的月份。这托盘项目,流行框架的所在地,例如烧瓶点击,发布了其所有六个核心项目的新主要版本。这Python 软件基础 (PSF)主办了 PyCon US 2021,这是一场提供真实现场体验的虚拟会议。

让我们深入了解过去一个月最重要的 Python 新闻!

免费下载: 从 CPython Internals: Your Guide to the Python 3 Interpreter 获取示例章节向您展示如何解锁Python语言的内部工作原理、从源代码编译Python解释器以及参与CPython的开发。

微软成为 PSF 第三位远见赞助商

In 上个月的新闻综述中,我们报道了 Google 和 Bloomberg Engineering 如何成为前两家 PSF 远见赞助商。 4月底,PSF还宣布微软将其支持提高到了 Visionary 级别。

微软正在向 Python 提供财政支持包装工作组:

作为我们对 PSF 的 15 万美元财务赞助的一部分,我们将把资金集中用于打包工作组,以帮助支付进一步改进 PyPI 和打包生态系统的开发成本。由于最近披露的安全漏洞,可信供应链对我们和 Python 社区来说都是一个关键问题,我们很高兴能够为长期改进做出贡献。 (来源)

除了其 Visionary 赞助商地位之外,微软还有五位 Python 核心开发人员为 Python 做出兼职贡献:Brett Cannon、Steve Dower、Guido van Rossum、Eric Snow 和 Barry Warsaw。

有关 Microsoft 对 Python 和 PSF 支持的更多信息,请查看其官方公告.

看看史蒂夫·道尔的帐户了解多年来 Microsoft 对 Python 的立场如何变化的内幕消息。您还可以在以下网站上聆听 Brett Cannon 分享他在 Microsoft 使用 Python 的经验真正的 Python 播客.

Pallets发布所有核心项目的新主要版本

Pallets 团队及其众多开源贡献者两年的辛勤工作最终为其所有六个核心项目发布了新的主要版本:

  • 烧瓶2.0
  • 制造2.0
  • 金贾3.0
  • 点击8.0
  • 危险2.0
  • 标记安全2.0

所有六个项目都放弃了对 Python 2 和 Python 3.5 的支持,使 Python 3.6 成为受支持的最低版本。以前不推荐使用的代码已被删除,并且添加了一些新的不推荐使用的代码。

影响所有六个项目的一些主要变化包括:

  • 将默认分支重命名为main
  • 添加全面的类型注释,使得类型检查用户代码更有用并提供更好的集成IDE
  • 使用类似的工具预提交, 黑色的, 和弗莱克8在所有代码库和新的拉取请求中强制执行一致的风格

除了上面列出的全面变化之外,各个项目还有一些有吸引力的新功能。

Flask 变得原生asyncio支持

根据2020 年 Python 开发者调查,Flask 是最流行的 Python Web 框架。 Flask 2.0 的原生asyncio支持肯定会让该框架的粉丝们感到高兴。

您可以将从路由到错误处理程序到请求前和请求后函数的所有内容都放入协程中,这意味着您可以使用async defawait:

@app.route("/get-data")
async def get_data():
    data = await async_db_query(...)
    return jsonify(data)

在此示例中,代码片段取自Flask 文档,一个名为的异步视图get_data()被定义为。它进行异步数据库查询,然后以 JSON 格式返回数据。

烧瓶的asyncio支持并非没有警告。 Flask 仍然是Web 服务器网关接口 (WSGI)应用程序,并且受到与任何其他 WSGI 框架相同的限制。 Flask 的文档描述了这些限制:

异步函数需要事件循环才能运行。 Flask 作为一个 WSGI 应用程序,使用一个工作线程来处理一个请求/响应周期。当请求进入异步视图时,Flask 将在线程中启动事件循环,在那里运行视图函数,然后返回结果。

每个请求仍然占用一个工作线程,即使对于异步视图也是如此。好处是您可以在视图中运行异步代码,例如进行多个并发数据库查询、对外部 API 的 HTTP 请求等。但是,您的应用程序一次可以处理的请求数量将保持不变。 (来源)

如果您不熟悉异步编程,请查看Python 中的异步 IO:完整演练。您还可以了解 Flask 新功能的详细信息asyncio来自文章的支持Flask 2.0 中的异步,其中曾出现在PyCoder 周刊通讯。

除了原生的asyncio支持,Flask 2.0还添加了一些新的路由装饰器,用于常见的HTTP 方法。例如,在 Flask 1.x 中,您声明一个支持POST方法使用@app.route()视图装饰器:

@app.route("/submit-form", methods=["POST"])
def submit_form():
    return handle_form_data(request.form)

在 Flask 2.0 中,您可以使用以下命令缩短此代码@app.post()视图装饰器:

@app.post("/submit-form")
def submit_form():
    return handle_form_data(request.form)

这是一个很小的变化,但可读性显着提高!

你可以在官方找到Flask 2.0的所有变化变更日志.

Jinja 改进了异步环境

asyncioJinja 2.x 中的支持需要补丁系统以及一些注意事项开发人员需要牢记。原因之一是 Jinja 2.x 支持 Python 2.7 和 Python 3.5。

现在所有 Pallets 项目仅支持 Python 3.6+,补丁系统去掉了提供更自然的asyncio使用 Jinja 3.0 的项目经验。

你可以在官方中找到 Jinja 3.0 的所有变化变更日志.

Click 获得经过彻底修改的 Shell Tab 完成系统

建设伟大命令行界面(CLI)对于应用程序来说可能是一件苦差事。这点击项目通过其友好的 API 帮助减轻了这一负担。

One of the features shell users expect from a CLI is tab completion, which suggests command names, option names, and choice values when a user types a few characters and presses Tab.

Click 始终支持 shell 选项卡补全,但实现很混乱,正如 Pallets 维护者所说大卫·洛德2020 年 3 月 GitHub 问题上指出:

我一直在尝试审查 [一个拉取请求],它添加了基于类型的完成,它让我意识到完成是多么混乱,无论是在 Click 中还是 shell 如何实现和记录其系统。

[W]我们必须重新实现 shell 应该做的事情,例如转义特殊字符、添加空格(目录除外)、排序等。如果用户想要提供自己的补全,他们必须记住也要做这一切。

我们没有理由只返回完成结果。我们已经支持返回描述,想必我们可以扩展更多。如果 Click 可以向完成脚本指示它应该使用 Bash 或 ZSH 提供的其他功能,那不是很酷吗? (来源)

到 2020 年 10 月,Click 的 shell 选项卡补全系统已进行彻底检修,内置了对重击, Zsh, 和。该系统是可扩展的。您可以添加对其他 shell 的支持,并且可以在多个级别上自定义完成建议。

新的完成系统现已在 Click 8.0 中提供,对于希望在用户最喜欢的 shell 中为用户提供友好的 CLI 体验的项目来说是一个巨大的胜利。

您可以在官方上找到 Click 8.0 over 的完整更改列表变更日志.

PyCon US 2021 连接世界各地的 Python 达人

对于美国的 Python 爱好者来说,暮春总是一个激动人心的时刻。美国 PyCon是 Python 最大的年度大会,传统上在四月或五月举行。

今年的 PyCon US 与以往的会议略有不同。原定于宾夕法尼亚州匹兹堡举行PyCon 美国 2021由于 COVID-19 大流行,活动改为仅在线举行。

感觉就像真实会议的虚拟会议

PyCon 美国 2020也是虚拟的,但最后一刻过渡到在线会议让组织者几乎没有时间准备真正的 PyCon 体验。今年,PSF 有充足的时间进行规划,并按照过去 PyCon 美国会议的精神举办了一场令人难以置信的引人入胜的活动。

尽管演讲是预先录制的,但视频是按计划播放的,而不是按需提供。每次演讲都有一个与之关联的聊天室,演讲者可以与参与者互动并回答问题。

会议还设有一个虚拟展览厅,将 Pythonistas 与 Python 世界中的各个组织联系起来,包括微软、谷歌、彭博社、和更多.

不过,PyCon 2021 最吸引人的部分是精心设计的开放空间和休息区。开放空间是类似聚会的小型活动,使与会者能够围绕共同兴趣相互会面和互动。这里为 Python 作者、业余无线电操作员、社区组织者等提供了开放空间。

会议的休息区包括虚拟桌子,允许有限数量的人参加视频会议。任何人都可以抓住一把可用的椅子并参与对话,即使对话已经开始。休息室给 PyCon 带来了真正独特的氛围,具有您在面对面会议中所期望的所有自发性,有效地实现了虚拟会议走廊轨道,这是 PyCon US 的标志之一。

PyCon US 移至线上,让全球更多 Python 爱好者可以参加这次会议。 Python 爱好者不再受旅行和住宿费用的负担,只需支付入场费即可在舒适的家中参加 PyCon。

如果您错过了 PyCon US 2021,您很快就可以在YouTube。在撰写本文时,这些视频仍在后期制作中,但应该会在未来几周内发布。

Python 的未来聚焦于性能

PyCon US 的目标之一是将 Python 核心开发人员和 Python 用户聚集在一起,讨论该语言的当前状态和未来愿景。每年,Python语言峰会将 Python 实现的维护者聚集在一起,例如CPython, 吡啶, 和Jython,共享信息并解决问题。

今年的语言峰会有几场激动人心的演讲。迪诺·维兰德讨论过Instagram 对 CPython 的改进在其内部以绩效为导向的项目中煤渣, 包括对异步 I/O 的多项增强.

Python创造者吉多·范罗苏姆提出了使 CPython 更快的计划。范罗森的目标是Python 3.11 的 CPython 速度翻倍。性能的提高主要有利于运行 CPU 密集型纯 Python 代码或使用 Python 内置工具和网站的用户。

今年 Python 语言峰会的另一个令人兴奋的特点是 PSF 给出了真正的Python’自己的乔安娜·贾布隆斯基有机会在一系列博客文章中报道峰会的演讲和讨论。您可以在以下位置找到她有关语言峰会的所有文章PSF博客.

Python 的下一步是什么?

五月对于 Python 来说是多事的一个月。在真正的Python,我们对 Python 的未来感到兴奋,迫不及待地想看看未来会为我们带来哪些新东西六月.

你最喜欢的作品是什么Python新闻May?我们错过了什么值得注意的事情吗?请在评论中告诉我们,我们可能会在下个月的 Python 新闻综述中介绍您。

快乐Python!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python 新闻:2021 年 5 月以来的新增内容 的相关文章

随机推荐

  • 使用 Sed 命令在 Linux 中追加文本

    Sed提供根据特定模式或条件将文本附加到文件中的行的能力 您可以使用a 命令输入sed在模式匹配后添加新行 让我们深入研究现实世界的示例 以了解如何有效地利用此功能 目录 hide 1 在匹配的模式后添加一行 2 在匹配的模式后追加多行 3
  • Linux Web 服务器 (Apache) 的安装、配置和故障排除

    在本教程中 我们将具体讨论 Linux Web 服务器或 Apache Web 服务器 以及如何安装和配置它以向其他人提供您的内容 Web 服务器是一个通过 HTTP 协议处理请求的系统 您向服务器请求一个文件 它会响应所请求的文件 这可能
  • 使用 Curl 命令的 RESTful API 交互

    主要用途之一curl与 RESTful API 进行交互 RESTful API 是许多现代 Web 应用程序和服务的支柱 在本教程中 您将学习如何使用 RESTful API 进行交互卷曲命令 获取数据 发布信息以及解析各种响应 目录 h
  • NumPy 数组重塑指南

    The NumPyPython 中的库提供了强大的功能来重塑数组的维度 这就是我们将在本教程中深入探讨的内容 在整个教程中 我们将介绍 NumPy 数组重塑的含义及其重要性 然后再深入研究如何重塑不同维度的数组的细节 在本教程结束时 您将熟
  • Python 分析(检测 CPU 和内存瓶颈)

    您是否一直在代码中处理包含大量数据的数据集 并且一旦执行代码 您就会发现代码需要很长时间才能产生最终输出 嗯 这可能会令人沮丧 您可能使用了正确的语法 并且逻辑也是正确的 然而 该代码会消耗大量 RAM 并且执行时间过长 这时您应该考虑优化
  • 使用 to_json 将 Python Pandas DataFrame 转换为 JSON

    The to json函数在转换时特别有用PandasDataFrame 到 JSON 文件 它允许您转换并返回可编写为 JSON 文件的可序列化对象 该函数具有多个参数 可提供 JSON JavaScript 对象表示法 输出的自定义 其
  • 使用 Pandas loc 按多个条件选择数据

    熊猫优惠洛克财产 一种基于标签的数据选择方法 允许您根据多个条件选择数据 本教程旨在指导您在多种条件下使用 Pandas loc 函数 目录 hide 1 了解多个条件的逻辑运算符 2 使用 AND 运算符 组合条件 3 使用 OR 运算符
  • 使用 Python NLTK 的自然语言处理 (NLP)(简单示例)

    自然语言工具包 NLTK 是一个为符号和自然语言处理任务创建的 Python 库 它有潜力让每个人都可以进行自然语言处理 从英语到任何自然人类语言 目录 hide 1 安装 Python NLTK 2 文本预处理 3 句子和单词标记化
  • 如何在Python中对数字进行四舍五入

    处理数字是编程的重要组成部分 尤其是在科学应用或处理货币价值时 在这里 Python 中对数字进行四舍五入的需求变得至关重要 它允许我们将数字调整到附近的值 通常是为了降低其复杂性或使其达到一定的精度 让我们深入探讨如何在 Python 中
  • 使用 Sed p 命令打印行:综合指南

    The p命令输入sed用于打印当前模式空间 即当前文本行 您可以使用sed命令与p从文件中打印文本行的选项如下 sed n p filename 在本教程中 您将了解使用sed p用于打印文件或数据流中的行的命令 目录 hide 1 打印
  • Python Pandas 教程(数据分析初学者指南)

    Pandas 是一个开源的高性能库 可用于数据分析 机器学习和特征工程等多种用途 Pandas 库是数据科学家武器库中的关键工具之一 它是一个用于数据分析和操作的强大 Python 包 目录 hide 1 Python 熊猫安装 2 Pan
  • Python 中的模运算符 (%)(真实示例)

    Python 模运算符 由百分号 表示 是用于各种算术运算的数学运算符 当您使用模运算符时 它返回两个数字之间除法运算的余数 模运算符的强大功能超出了简单算术的范围 它在 Python 编程中具有广泛的实际用途 我们将在本教程中深入探讨 我
  • Python 新闻:2021 年 6 月以来的新增内容

    目录 埃瓦 乔德洛斯卡 Ewa Jodlowska 辞去 PSF 执行董事职务 PSF 公布董事会选举结果 爵士乐队接受 PSF 财政赞助计划 微软正在招聘人员来帮助加快 Python 速度 PyCon US 2021 视频录制现已推出 P
  • 使用 pdb 进行 Python 调试:总结

    以下是您在本课程中学到的所有命令 p 打印表达式的值 pp 漂亮地打印表达式的值 n 继续执行 直到到达当前函数的下一行或返回 s 执行当前行并在第一个可能的机会处停止 在被调用的函数中或在当前函数中 c 继续执行 只有遇到断点时才停止 u
  • 2021 年 3 月 24 日

    主持人 David Amos 分享了有关 Python 基础知识书籍的一些重大新闻并回答了会员的问题 在这次会议上 我们讨论了 Python 新闻和更新 Python 基础平装本 浅拷贝与深拷贝 和更多 下载 Office Hours Fi
  • 2020 年 10 月 21 日

    本周 主持人大卫 阿莫斯 David Amos 与作家一起加入盖尔 阿恩 耶勒和克里斯托弗 特鲁多庆祝Python 3 9的发布并谈论他们的Python 3 9文章和视频课程 下载 Office Hours Files 2020 10 21
  • 使用 Rich 创建 Python Wordle 克隆(概述)

    在本视频课程中 您将构建自己的Wordle克隆对于终端 自从乔什 沃德尔 Josh Wardle 推出以来沃德尔2021 年 10 月 已有数百万人玩过该游戏 虽然您可以在网络上玩原始游戏 但您将创建您的版本作为命令行应用程序 然后使用丰富
  • 多元多项式回归:代码

    以下是在 Python 中实现多重多项式回归所需的数据 x 0 1 5 1 15 2 25 5 35 11 45 15 55 34 60 35 y 4 5 20 14 32 22 38 43 x np array x y np array
  • 使用 pip 安装软件包(摘要)

    在本视频课程中 您学习了如何使用安装第三方软件包 蟒蛇的包管理器 pip 了解了终端和虚拟环境后 您看到了一些有用的pip命令 包括pip install pip list 和pip uninstall 您还学习了如何声明项目的要求并找到第
  • Python 新闻:2021 年 5 月以来的新增内容

    目录 微软成为 PSF 第三位远见赞助商 Pallets Releases New Major Versions of All Core Projects Flask 获得原生 asyncio 支持 Jinja 改进了异步环境 Click