Python潮流周刊#4:Python 2023 语言峰会

news2024/11/26 2:24:32

△点击上方“Python猫”关注 ,回复“1”领取电子书

96cf0554ba5e6e13bf7ff043ca7adea4.png

你好,我是猫哥。这里记录每周值得分享的 Python 及通用技术内容,本期是特别加更版,聚焦于 Python 官方 2023 年语言峰会的系列博客。

由于公众号不支持外链,文中大量链接可通过文末「阅读原文」查看。

每年在 PyCon US 开始之前,Python 核心开发者、维护者和特邀嘉宾都会聚在一起参加 Python 语言峰会:这是一个为期一天的会谈活动,讨论 Python 的未来方向。

40cb00c4d8bb66c2b4744227ed7c6abe.png
Python语言峰会合影

今年的活动刚结束一个月,PSF 在本周一发布了多篇博客,回顾了峰会上的一些演讲内容。本期周刊将这些文章进一步作了摘要,分享给大家:

1、Three Talks on the C API[1]

这是关于 C API 的三场演讲。首先,Mark Shannon 和 Guido van Rossum 提及当前 C API 对第三方扩展的支持不够,经常在升级版本时破坏它们的功能。会上的结论是收集 C API 的问题清单,再制定解决方案。

另一场演讲是关于 HPy,它是一个用于编写 Python 扩展模块的新的 API,旨在解决 CPython C API 的一些限制和问题。它的好处是编写的扩展模块可以在不同的 Python 实现中运行,例如 CPython 和 PyPy。但是,演讲者想要官方将它作为推荐方案的想法没有得到支持,一方面的原因是它还不够完善,更重要的原因则是 Guido 评论的自上而下的方法行不通。HPy 似乎是挺不错的克服 C API 问题的方案,但它要取代 C API 的地位,还为时尚早。

2、Making the Global Interpreter Lock Optional[2]

我们曾多次介绍过 nogil 项目,比如在周刊第二期就分享了一篇文章。在本次峰会上,nogil 的作者 Sam Gross 介绍了过去一年的进展,给出了 nogil 在性能上取得的令人满意的数据,还提出了更明确的路线图。大家最担心的依然是它提出编译成两个发行版、以及导致的调试困难等问题。(我们曾在 2 月份的一篇文章 中讨论过)

3、Towards Native Profiling for Python[3]

Joannah Nanjekye 的演讲介绍了 Scalene,这是一个基于采样的 Python 分析器,可以在报告中区分机器代码和 Python 代码。使用 C、C++ 或 Rust 编写的 Python 扩展会被编译为机器代码,因此很难用采样的方式分析。Scalene 解决了一些技术难题,是最受欢迎的 Python 分析工具之一。演讲者试探性提出将 Scalene 的成果集成到标准库 cProfile 中,但没有得到响应。最后,这个库还被拿来跟 Python 3.12 中引入的 perf 分析器作比对。

fb51c809c284fc6f566bce6d5f3f88ce.png
Sample-based Profiling

4、What is the stdlib for?[4]

Brett Cannon 提出的问题实际是:标准库应该扮演什么样的角色?Python 在发展初期自诩“自带电池”,包含了很多标准库,但随着第三方库越来越丰富以及 PyPI 使得安装库非常便利,很多标准库就不再有价值了。与会者的共识是:标准库应该专注于帮助用户编写更好的 Python 代码。这意味正在进行的标准库“瘦身计划”不会停,同时,未来的新标准库会更加规范引入。

5、Pattern Matching, __match__, and View Patterns[5]

模式匹配语法是 3.10 版本的重大特性,但是 Sullivan 认为它的能力相当有限,因此提出了模式匹配的后续发展方向。与会者们普遍认同要增强模式匹配语法,然而,是否要引入一个新的魔术方法 __match__,或者采用别的方案,暂无定论。文中附有很多代码示例以及关于模式匹配的参考资料,对此话题感兴趣的同学可以去了解下。

6、Python on Mobile: State of the Union[6]

Russell Keith-Magee 介绍了 BeeWare,它的目标是在 Android 和 iOS 等移动平台上轻松运行 Python。项目已得到 Anaconda 的投资支持,演讲者的诉求是希望得到 CPython 的“Tier-3”支持。会上讨论了 CI 测试套对移动平台的支持、sys.platform 在移动平台应该得到什么值、以及如何在移动平台发布 CPython 二进制文件,等等。手机上的 Python,这值得期待!

7、Burnout is Real[7]

Guido 在峰会上聊了开源倦怠、解决倦怠的策略、以及如何避免倦怠等话题。很多时候,开源贡献者都是在用爱发电,然而大型开源项目还常常有复杂的场景、琐碎的讨论、多样的人际协作、时常冲突的观点或想法等,这些都容易让人疲倦、消磨人的热情。(PS.如果你关注技术新闻的话,会看到 Rust 社区最近闹得沸沸扬扬的核心开发者内讧事件。开源社区的发展也是一大难题,庆幸的是这届峰会反映出 Python 社区是在健康发展中)

70ec868fbb7fff87b062491672b0cc9f.png

8、Lightning Talks[8]

介绍了三场简短的闪电演讲,主题有:让我们支持 LLVM-BOLT 作为官方功能、在 Python 中实现延迟导入的机制、让模块支持调用(已提出 PEP-713)。

以上就是今年峰会上讨论的重大议题,可以说都是非常有意义的话题。

有不少内容其实已经有了最新进展(毕竟活动已结束一个月),还有一些可能仍需较长时间才能尘埃落定(比如 nogil 和手机上的 Python)。

这里再补充两篇文章,有关于 Fast CPython 项目的进展:《Faster CPython at PyCon, part one[9]》、《Faster CPython at PyCon, part two[10]》,Python 3.11 已经让大家看到了非常多的性能提升,未来版本更值得期待。

赞助&支持

内容创作不易,如果你觉得有帮助,请随意赞赏[11]、买杯咖啡[12]或在爱发电[13]进行支持!如果你喜欢本周刊,请转发分享给其他需要的同学~

另诚邀赞助者,欢迎通过私信联系。

关于周刊

Python 潮流周刊,精心筛选国内外的 200+ 信息源,为你挑选最值得分享的文章、教程、开源项目、软件工具、播客和视频、热门话题等内容。愿景:帮助所有读者精进 Python 技术,并增长职业和副业的收入。

订阅方式:Python猫[14] | RSS[15] | 邮件[16] | Github[17] | Telegram[18] | Twitter[19]

18f568e902cb15ea2792e2a223ed2db7.jpeg

参考资料

[1]

Three Talks on the C API: https://pyfound.blogspot.com/2023/05/the-python-language-summit-2023-three.html

[2]

Making the Global Interpreter Lock Optional: https://pyfound.blogspot.com/2023/05/the-python-language-summit-2023-making.html

[3]

Towards Native Profiling for Python: https://pyfound.blogspot.com/2023/05/the-python-language-summit-2023-towards.html

[4]

What is the stdlib for?: https://pyfound.blogspot.com/2023/05/the-python-language-summit-2023-what-is.html

[5]

Pattern Matching, __match__, and View Patterns: https://pyfound.blogspot.com/2023/05/the-python-language-summit-2023-pattern.html

[6]

Python on Mobile: State of the Union: https://pyfound.blogspot.com/2023/05/the-python-language-summit-2023-python.html

[7]

Burnout is Real: https://pyfound.blogspot.com/2023/05/the-python-language-summit-2023-burnout.html

[8]

Lightning Talks: https://pyfound.blogspot.com/2023/05/the-python-language-summit-2023.html

[9]

Faster CPython at PyCon, part one: https://lwn.net/Articles/930705

[10]

Faster CPython at PyCon, part two: https://lwn.net/Articles/931197/

[11]

赞赏: https://img.pythoncat.top/wechat_code.png

[12]

买杯咖啡: https://www.buymeacoffee.com/pythoncat

[13]

爱发电: https://afdian.net/a/pythoncat

[14]

Python猫: https://img.pythoncat.top/python_cat.jpg

[15]

RSS: https://pythoncat.top/rss.xml

[16]

邮件: https://pythoncat.substack.com

[17]

Github: https://github.com/chinesehuazhou/python-weekly

[18]

Telegram: https://t.me/pythontrendingweekly

[19]

Twitter: https://twitter.com/chinesehuazhou

90caa3110d35241b5a4d0c6aafd7f405.gif

如果你觉得本文有帮助

请慷慨分享点赞,感谢啦

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/596083.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

JetBrains的PHP集成开发环境PhpStorm 2023版本在Win10系统的下载与安装配置教程

目录 前言一、PhpStorm 安装二、使用配置总结 前言 PhpStorm是一款专为PHP开发人员设计的集成开发环境(IDE)。它提供了丰富的功能和工具,可以帮助开发人员更高效地编写、调试和部署PHP应用程序。 PhpStorm的主要特点: ——代码…

硬件大熊原创合集(2023/04-05更新)

04-05月份更新篇章: NFC模块化设计方案 一款射频芯片的layout设计指导案例-篇章1 04月份娃出生,连续两个月需要处理的各种事情比之前多了很多,还好慢慢地适应了这种节奏,并且逐渐开始挖掘出属于个人的时间。 有天夜里抱着娃哄睡时…

NIO之Buffer解读

目录 Buffer 简介 Buffer 的基本用法 使用步骤 使用 Buffer 的例子 使用 IntBuffer 的例子 Buffer 的 capacity、position 和 limit capacity position limit Buffer 的类型 Buffer 分配和读写数据 Buffer 分配 向 Buffer 中写数据 flip()方法 从 Buffer 中读取数…

C++ Lambda 表达式:深入理解与应用

C Lambda 表达式是 C11 标准引入的一项强大功能,它允许开发者以简洁、优雅的方式创建匿名函数对象。 本文将深入探讨 C Lambda 表达式的原理、语法和应用场景,帮助读者更好地理解和使用这一功能。 1. Lambda 表达式简介 Lambda 表达式是一种创建匿名函数…

18. Vue-element-template白天黑夜模式动态切换

两套主题动态切换 1. 去官网生成两套主题拷贝到 resources/src/assets/theme https://element.eleme.cn/#/zh-CN/theme 2. 也可以本地修改 element-variables.scss 然后运行et生成 安装 (注意Node版本) ➜ Genes-Admin git:(ogenes) sudo n 10.16.…

【车载开发系列】Autosar DEM基本概念

【车载开发系列】Autosar DEM基本概念 Autosar DEM基本概念 【车载开发系列】Autosar DEM基本概念一. 诊断事件管理(DEM)概念二. DEM的主要作用1、汽车检修提供数据2、汽车错误状态处理提供依据 三. DEM模块及关联模块关系1. 功能禁止模块FIM2. SWC和BSW3. NvM非易失性存储4. 诊…

分布式存储Ceph介绍及搭建

一:存储的类型 1.单机存储设备 ●DAS(直接附加存储,是直接接到计算机的主板总线上去的存储) IDE、SATA、SCSI、SAS、USB 接口的磁盘 所谓接口就是一种存储设备驱动下的磁盘设备,提供块级别的存储 ●NAS(…

一、docker-compose方式安装运行Jenkins

docker-compose方式安装运行Jenkins 服务器系统:centos 7.6 以docker-compose 编排容器方式安装,当然需提前安装docker-compose环境(见百度->docker-compose环境安装) docker-compose.yml version: 3.1 services:jenkins:i…

率先领跑!人大金仓布局“数字医疗”护航健康中国

近日,中国医院信息网络大会(CHIMA 2023)在福州圆满结束。作为数据库领域唯一参展企业,人大金仓携一系列“数字医疗”国产数据库解决方案亮相,在激发数据价值,促进数据资源整合利用,确保数据安全使用等方面的突出表现和…

死神来了 | 高铁出轨:“德国的泰坦尼克号事件”

点击文末“阅读原文”即可收听本期节目 剪辑、音频 / 伊姐 运营 / SandLiu 卷圈 封面 / 姝琦Midjourney 监制 / 姝琦 产品统筹 / bobo 场地支持 / 声湃轩天津录音间 德国高铁出轨事故是1998年6月3日发生于德国下萨克森州策勒县艾雪德镇附近的严重铁路事故,造成…

华为OD机试真题B卷 Java 实现【合法IP】,附详细解题思路

一、题目描述 IPV4地址可以用一个32位无符号整数来表示,一般用点分方式来显示,点将IP地址分成4个部分,每个部分为8位,表示成一个无符号整数(因此正号不需要出现),如10.137.17.1,是我…

在中文LLaMA模型上进行精调

最近在开源项目ymcui/Chinese-LLaMA-Alpaca的基础上完成了自己的中文模型精调工作,形成了两个工具共享给大家。ymcui/Chinese-LLaMA-Alpaca 构建指令形式的精调文件 如果用于精调,首先要准备精调数据,目标用途如果是问答,需要按…

【下篇】我们邀请了4位专家来探讨消费市场的新增量:W型机会、单客经济、日本市场、DTC......

在4月底的时候,我们举办了一场线上直播活动,有幸邀请到了4位消费零售行业的专家,我本人与他们一起探讨如何寻找市场的新增量,思考品牌如何找到新机会。本篇内容就是将专家们的观点进行了梳理和总结。 接上篇内容: 本篇…

【六·一】就做个纯粹的小小游戏吧

写在前面:博主是一只经过实战开发历练后投身培训事业的“小山猪”,昵称取自动画片《狮子王》中的“彭彭”,总是以乐观、积极的心态对待周边的事物。本人的技术路线从Java全栈工程师一路奔向大数据开发、数据挖掘领域,如今终有小成…

Java学习(maven)——maven新建项目 常用IO工具 Durid数据库工具 案例

引出 如何用maven新建项目,用maven建项目的优势,常用的io工具和durid工具 用Maven建项目 0.Maven配置方式 参考博客 : 【配置】Maven的配置 & Tomcat的配置 & 在IDEA中新建web项目 中的maven配置 1.io流的工具IOUtils/FileUtils…

ROS:一些基本命令行

目录 一、打开小海龟1.1终端,启动ROS Master:1.2终端2,启动小海龟仿真器:1.3终端3,启动海龟控制节点: 二、查看系统中的计算图三、节点命令3.1查看节点下的命令rosnode3.2显示节点列表rosnode list3.3查看节…

【致敬未来的攻城狮计划】打卡1:rasc+keil环境搭建

前言 这回参加的是csdn李肯老师的攻城狮计划,简单说就是我白嫖板子,输出学习笔记。 板子是瑞萨的CPK_RA2E1,还有触摸元件,看起来很有意思hh。 环境搭建 一开始决定采取vscode搭建的方式。后期进行到最后一步——cmake build的时…

多链路传输技术在火山引擎 RTC 的探索和实践

动手点关注 干货不迷路 传统的数据传输方式大多是利用一个链路、选择设备的默认网卡进行传输,使用这种方式实现实时音视频通话时,如果默认网络出现问题(如断网、弱网等),用户的通信就会发生中断或者卡顿,影…

chatgpt赋能python:Python倒序函数:让你的列表逆转!

Python倒序函数:让你的列表逆转! Python作为一种高级编程语言,代码简洁易学,因此被广泛使用。对于开发者而言,逆转列表(list)是很常见的需求。Python提供了一个内置函数reverse()来解决这个问题…

前端技术搭建扫雷小游戏(内含源码)

The sand accumulates to form a pagoda ✨ 写在前面✨ 功能介绍✨ 页面搭建✨ 样式设置✨ 逻辑部分 ✨ 写在前面 上周我们实通过前端基础实现了贪吃蛇游戏,今天还是继续按照我们原定的节奏来带领大家完成一个游戏,功能也比较简单简单,也是想…