---
title: 'Python潮流周刊#6：Python 3.12 有我贡献的代码！'
pubDate: 2023-06-10
author: '豌豆花下猫'
---

你好，我是猫哥。这里记录每周值得分享的 Python 及通用技术内容，部分为英文，已在小标题注明。（标题取自其中一则分享，不代表全部内容都是该主题，特此声明。）


## 🦄文章&教程

1、[CPython 贡献日记：Python 3.12 有什么？](https://zhuanlan.zhihu.com/p/634654153) 

文章出自群友@孙孟越，介绍了 Python 3.12 中他深度参与的几个大更新，比如 PEP-701 定型 f-字符串的句法、PEP-688 给 Python Buffer Protocol 暴露 Python 接口、PEP-695 类型参数语法，等等。另外，他在前一篇《[CPython 贡献日记](https://zhuanlan.zhihu.com/p/623602662)》中介绍了给开源社区做贡献的相关知识，比如提 PR 的小技巧、提/解决 Issue 的小技巧，等等。（你也想给 Python 贡献代码么？请参考：[Python Developer’s Guide](https://devguide.python.org/)）

2、[有哪些值得关注的 AI 工具？我们整理了这 67 个](https://topbook.cc/overview?selectedArticle=1975)

文章介绍了目前流行的 67 个工具，包括大语言模型、搜索引擎、办公、内容生成、精神需求、提示词学习等方向，它还梳理了下面这张思维导图：

![67个AI工具的思维导图](https://img.pythoncat.top/e758891909852b4088d3a6db47a6607ca)

3、[我买了本豆瓣 9.6 分的 Python 书，发现里面每 5 页一个错误？！](https://juejin.cn/post/7240248679515963451)

文章从一本 Python 入门书籍中找出了 30 个有代表性的错误，并给出了“离谱程度”评分。作者批判性阅读了那本书，同理，读者们也应该批判性阅读这篇文章，因为它说得也并不都对。（@TheFry 投稿）

4、[Sketch of a Post-ORM](https://borretti.me/article/sketch-post-orm) (英)

通常我们使用纯 SQL 或者 ORM 框架来操作数据库，作者比较了这两种方案，指出了它们的诸多缺陷，然后提出了一种新的技术设想。作者从 8 个方面介绍了自己的思路，包括迁移优先、声明式迁移、跨语言移植、更好的 SQL，等等。作者还演示了一个工作流以及 Python 代码示例。

5、[Python 中运行 Shell 命令的正确做法](https://martinheinz.dev/blog/98) (英)

作者先介绍了 Python 与操作系统交互的一些常用库，比如 pathlib、tempfile、shutil、os、subprocess 等等，最后再介绍了他最为推荐的 [sh](https://github.com/amoffat/sh) 库的相关用法。这个库的方法对熟悉 shell 命令的同学非常友好。

6、[如何使用 async 升级 Flask 程序](https://www.vidavolta.io/how-to-upgrade-your-flask-application-using-async/) (英)

文章使用 Locust 作负载测试，简单演示了将同步的 Flask 程序修改为异步后，性能数据上的变化。

![](https://img.pythoncat.top/data-src-image-8d0d9165-c86c-4de9-8c32-6ff0a23793cb.png)

7、[提议给 Python 添加一个结构语法](https://snarky.ca/proposing-a-struct-syntax/) (英)

核心开发者 Brett Cannon 的博客介绍了他的思考，提议增加一个`struct` 关键字，用于更方便地创建数据类，类似于 C、Rust 与 Go 的结构语法。文中介绍了他的目标以及这个关键字的实现原理，目前在收集意见阶段，未来不排除会提成一个 PEP。

8、[类属性和实例属性是怎样的关系？](https://juejin.cn/post/7240380161555234876)

出自《从 1 到 ∞ 精通 Python》系列，已包含 17 篇文章。作者参考了《Python 源码剖析》的分析方法及结论，深度探析了 Python 解释器源码，讲解 Python 重要特性的实现原理。

9、[2023 年 39 个顶级 Python 框架](https://dev.to/lambdatest/39-top-python-frameworks-to-look-for-in-2023-3hdb) (英)

文章梳理介绍了 39 个用于开发及测试的 Python 框架，内容很长，介绍的范围很全面。

10、内容删除

11、[使用 Kivy 库进行 GUI 开发](https://www.pythonguis.com/tutorials/getting-started-kivy/) (英)

这是一篇入门教程。Kivy 是一个用于开发图形用户界面的库，支持桌面的跨平台开发，也支持为移动设备创建多点触控的程序。

12、[了解 CPU 有助于提升 Numba 和 NumPy 代码的速度](https://pythonspeed.com/articles/speeding-up-numba/)  (英)

当需要加快 NumPy 速度或减少其运行内存时，通常使用即时编译器 Numba。文章针对现代 CPU 的特点来优化 代码，将一个去除图像中的噪点程序的耗时从 48 ms 降到了 2 ms。

13、[当字节码咬人时：谁检查 Python 文件编译后的内容？](https://www.reversinglabs.com/blog/when-python-bytecode-bites-back-who-checks-the-contents-of-compiled-python-files) (英)

ReversingLabs 研究团队发现了一种针对 PyPI 的新型攻击，它使用编译后的 Python 代码来规避检测——可能是第一个利用 PYC 文件直接执行的攻击。

![从pyc文件中提取出的信息](https://img.pythoncat.top/Who-checks-the-contents-of-compiled-python-files-Figure-9.png)

14、[GPT 是如何工作的：200 行 Python 代码实现一个极简 GPT](http://arthurchiao.art/blog/gpt-as-a-finite-state-markov-chain-zh/)

这是一篇译文，原文作者是 OpenAI 的创始成员 Andrej Karpathy。文章使用 PyTorch 实现了一个极简 GPT，让读者对其内部工作机制有个直观理解。

15、[600 行 Python 代码实现两个 Transformer（文本分类+文本生成）](http://arthurchiao.art/blog/transformers-from-scratch-zh/)

这也是一篇译文，原文作者是阿姆斯特丹自由大学的助理教授。原文最早写于 2019 年，那时大语言模型还没有如今火爆。在文章末尾，作者希望 transformer  扩展到其它领域，因为它有很强的通用性。


## 🐿️项目&资源

1、[neodb：标记你喜欢的东西](https://github.com/neodb-social/neodb)

NeoDB 是一个用 Django 写的开源项目，也是一个联邦宇宙书影音游戏标注平台，可简单理解成 Web3 的开源的无审查的豆瓣，但支持标记的内容比豆瓣多得多。（这个库是在@laike9m 的博客看到的。以及非常感谢他在 Twitter 上推荐了本周刊！！）

![](https://img.pythoncat.top/2023-06-10_neodb.png)

2、[JupyterLab 4.0 已发布](https://blog.jupyter.org/jupyterlab-4-0-is-here-388d05e03442) (英)

JupyterLab 4.0 主要的新功能有：性能更快、升级的文本编辑器、新的扩展管理器、UI 改进，等等。

3、[pystack](https://github.com/bloomberg/pystack) (英)

pstack 是 Linux 系统上常用的命令行工具，用于显示一个进程的函数调用栈，可诊断进程卡死、死锁等问题，以及分析进程的性能瓶颈。pystack 是用 Python 写成的类 pstack 库。值得一提的是，它竟然还可以显示线程是否持有、是否在等待或正在释放 GIL。

4、[GPYTHON：你的专属 Python 学习助手](https://gpython.aibang.run/)

这是一个基于 ChatGPT 的 Python 在线学习平台，内置了 AI 助手以及在线代码运行模块，允许你随时修改示例代码，一键运行，一键查错。（@Stanaaa 投稿）

![](https://img.pythoncat.top/2023-06-09_gpython.png)

5、[M3E 模型](https://huggingface.co/moka-ai/m3e-base) 

M3E 是一个中文开源的 Embedding 模型，使用千万级 (2200w+) 的中文句对数据集进行训练，在文本分类和文本检索的任务上都超越了 openai-ada-002 模型。（@王宇昕投稿）

6、[reactpy：Python 的 React](https://github.com/reactive-python/reactpy) (英)

ReactPy 是一个库，用于在 Python 中构建用户界面，且不使用 Javascript。它的接口类似于 ReactJS 中的组件，可供没有 Web 开发经验的人使用。

7、[domain-admin: 域名 SSL 证书监测平台](https://github.com/mouday/domain-admin)

基于 Python + Vue3.js 技术栈实现的域名和 SSL 证书监测平台，核心功能：到期自动邮件提醒。

![Domain-Admin结构图](https://img.pythoncat.top/domain-admin-process.png)

8、[EasySpider：一个可视化爬虫软件](https://github.com/NaiboWang/EasySpider)

一个可视化爬虫软件，只需在网页上选择想爬的内容，并根据提示框操作即可完成爬虫设计和执行。也支持以命令行方式执行，可以方便地嵌入到其他系统中。这个项目源于原作者的浙江大学硕士论文，已获得国家发明专利，相关资料可在仓库查看。

9、[text-to-video-synthesis-colab：文本生成视频的模型](https://github.com/camenduru/text-to-video-synthesis-colab) (英)

一个开源的文本生成视频模型，整体模型参数约 17 亿，使用英文输入。放出来的演示视频非常惊艳。

![一些文生视频的效果](https://img.pythoncat.top/2023-06-10_16-23-19.png)

10、[segment-geospatial：使用 SAM 分割地理空间数据](https://github.com/opengeos/segment-geospatial) (英)

SAM 即“分割任意物体模型”（Segment Anything Model），是计算机视觉领域中非常有用和先进的模型，用于需要精确识别和分割任意物体的应用场景。这个项目使用它来分割地理空间数据。

11、[traceback_with_variables：Python 回溯（错误消息）打印变量](https://github.com/andy-landy/traceback_with_variables) (英)

该项目可以在 Python 的回溯信息中添加变量。通过记录日志或打印彩色的变量上下文信息，方便调试异常的原因，并显示堆栈跟踪中每个帧的变量值。

![错误堆栈信息对比](https://img.pythoncat.top/color_schemes.png)


## 🐢播客&视频

1、[当你用Python3.12的时候，或许就跑了我写的代码呢！](https://www.bilibili.com/video/BV1XX4y1y7s4)

视频来自 B 站@码农高天，他从 3 月份起，有 20 几个 pr 已合入 Python 3.12。这期视频详细介绍了他做出的几个贡献，主要有完善 pdb 文档、修复了几个 bug、引入 convenience variable 特性，等等。（作者在第一次 pr 被合入后，录了一期《[我给Python修了个bug！从今天起，也算是Python开发者了？](https://b23.tv/7zZFshm)》）

2、[PyCon US 2023 - YouTube](https://www.youtube.com/playlist?list=PL2Uw4_HvXqvY2zhJ9AMUa_Z6dtMGF3gtb) (英)

今年 PyCon US 活动的视频已经可以看了，共用 142 个视频！PyCon 是全球性的最大的 Python 开发者会议之一，由 PSF 主办，通常在 PyCon 活动期间会举行“Python 语言峰会”，今年的峰会议题详见《[Python潮流周刊#4：Python 2023 语言峰会](https://pythoncat.top/posts/2023-05-31-weekly4)》。

![PyCon US视频列表](https://img.pythoncat.top/2023-06-10_pycon.png)

3、[PyCascades - 2023 视频](https://www.youtube.com/@PyCascades/videos) (英)

2023 年 PyCascades 活动上的视频在上个月发布了，有 20 几个视频。PyCascades 是一个专注于 Python 编程语言的会议，通常在北美地区举行，每年一次。它类似于 PyCon，但是由独立的组织者和志愿者自发组织，规模更小。

## 🐱赞助&支持

内容创作要花费大量的时间和精力，如果你觉得有帮助，请随意[赞赏](https://img.pythoncat.top/wechat_code.png)、[买杯咖啡](https://www.buymeacoffee.com/pythoncat) 进行支持！如果你喜欢本周刊，请转发分享给其他需要的同学，让更多人可以从中受益～

诚邀赞助者，帮助本周刊免费且可持续发布，欢迎通过私信联系。

## 🐼关于周刊

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

订阅方式：[Python猫](https://img.pythoncat.top/python_cat.jpg) (可加群)| [RSS](https://pythoncat.top/rss.xml) | [邮件](https://pythoncat.substack.com) | [Github](https://github.com/chinesehuazhou/python-weekly) | [Telegram](https://t.me/pythontrendingweekly) | [Twitter](https://twitter.com/chinesehuazhou)

![](https://img.pythoncat.top/pythoncat.png)