京公网安备 11010802034615号
经营许可证编号:京B2-20210330
作者:豌豆花下猫
来源:Python猫
花下猫语:最近我发现了一个《Python behind the scenes》系列文章,它计划深度地剖析python 幕后的 CPython 解释器的工作原理。作者专门建了一个网站来发布该系列文章,目前已发布 4 篇。这些文章都挺长的,想要翻译好,并不容易。而本文接下来的内容,是该作者分享的一篇简短的参考材料,我先翻译出来热热身~~
原文:https://tenthousandmeters.com/materials/python-behind-the-scenes-a-list-of-resources
作者:Victor Skvortsov
译者:豌豆花下猫(“Python猫”公众号作者)
声明:本翻译是出于交流学习的目的,基于 CC BY-NC-SA 4.0 授权协议。为便于阅读,内容略有改动。
在研究 CPython 以及写作《CPython behind the scenes》系列时,我发现了一些很有用的文档、帖子和演讲。它们确实是一些非常好的资源,但是并不能回答我的太多问题。这就是为什么我最终决定要分享自己在学习 CPython 源代码时的经验。
>> Python 文档。在所有与 Python 相关的主题上,Python 文档几乎都是第一的查阅选择。虽然它缺少涵盖解释器原理的特殊内容,但是 Python/C API 文档描述了 CPython 的公共接口和一些实现细节。它附录了一份《the tutorial for C programmers》,该教程展示了如何使用 C 语言来扩展 Python 程序,或者将 Python 嵌入到 C 应用程序中。我敢打赌,只要认真地完成这些阅读内容,你就会对 CPython 的工作原理相当地了解。
>> PEP。虽然没有哪个 PEP 描述了解释器的总体设计,但是对 Python 的大多数主要更改,都有相应的提案。PEP 很赞。它们提供了技术和历史的背景。文档的作者们习惯于适当地引用相关的 PEP。例如,Python/C API 的参考内容中至少提到了一次 PEP-432,描述了 CPython 新的初始化序列的转变,以及 PEP-587(这是其部分的实现)。
>> Obi Ike-Nwosu 写的《 Inside The Python Virtual Machine》一书。在我看来,它是关于 CPython 内部原理的最全面、最准确的资料。
>> Anthony Shaw 写的《Your Guide to the CPython Source Code》。这个标题不言而喻。如果想直接研究源代码,你应该选择它!
>> Philip Guo 写的《CPython internals: A ten-hour codewalk through the Python interpreter source code》。如果你想要更为简单的介绍,那么这些讲座视频可能是最好的开始。它们基于 CPython 2.7,但是原理保持不变。
>> Yaniv Aknin 写的《Python’s Innards series》,介绍的是 CPython 3 VM 的早期版本,但仍然非常有用。
>> Eli Bendersky 写的《Python internals》文章。关于符号表(symbol table)的帖子特别好。
>> Stupid Python Ideas 博客。有各种 Python 相关主题的文章。有些涉及 CPython 内部原理。强烈推荐,但可能不好检索。
>> Allison Kaptur 写的《A Python Interpreter Written in Python》。它介绍了一个玩具版 Python VM,能够执行真正的 Python 字节码。这作为解释器的入门介绍,可能会很有用。但是,我觉得不必要花大量时间研究一个玩具示例,因为 CPython 本身并没有那么复杂。
>> Eric Snow 的演讲《To GIL or not to GIL》。它的主题是子解释过程。我喜欢它的地方是 Eric 在开头描述 CPython 架构的方式。
参考材料:
1、Python behind the scenes (https://tenthousandmeters.com/)
2、the tutorial for C programmers (https://docs.python.org/3.9/extending/index.html#extending-index)
3、Inside The Python Virtual Machine (https://leanpub.com/insidethepythonvirtualmachine)
4、Your Guide to the CPython Source Code (https://realpython.com/cpython-source-code-guide/)
5、CPython internals: A ten-hour codewalk through the Python interpreter source code (https://www.youtube.com/playlist?list=PLzV58Zm8FuBL6OAv1Yu6AwXZrnsFbbR0S)
6、Python’s Innards series (https://tech.blog.aknin.name/category/my-projects/pythons-innards/)
7、Python internals (https://eli.thegreenplace.net/tag/python-internals)
8、Stupid Python Ideas (http://stupidpythonideas.blogspot.com/)
9、A Python Interpreter Written in Python (http://aosabook.org/en/500L/a-python-interpreter-written-in-python.html)
10、To GIL or not to GIL (https://www.youtube.com/watch?v=7RlqbHCCVyc)
——热门课程推荐:
想学习PYTHON数据分析与金融数字化转型精英训练营,您可以点击>>>“人才转型”了解课程详情;
想从事业务型数据分析师,您可以点击>>>“数据分析师”了解课程详情;
想从事大数据分析师,您可以点击>>>“大数据就业”了解课程详情;
想成为人工智能工程师,您可以点击>>>“人工智能就业”了解课程详情;
想了解Python数据分析,您可以点击>>>“Python数据分析师”了解课程详情;
想咨询互联网运营,你可以点击>>>“互联网运营就业班”了解课程详情;
数据分析咨询请扫描二维码
若不方便扫码,搜微信号:CDAshujufenxi
在数字化时代,用户是产品的核心资产,用户运营的本质的是通过科学的指标监测、分析与优化,实现“拉新、促活、留存、转化、复购 ...
2026-04-15在企业数字化转型、系统架构设计、数据治理与AI落地过程中,数据模型、本体模型、业务模型是三大核心基础模型,三者相互支撑、各 ...
2026-04-15数据分析师的一天,80%的时间花在表格数据上,但80%的坑也踩在表格数据上。 如果你分不清数值型和文本型的区别,不知道数据从哪 ...
2026-04-15在人工智能与机器学习落地过程中,模型质量直接决定了应用效果的优劣——无论是分类、回归、生成式模型,还是推荐、预测类模型, ...
2026-04-14在Python网络编程、接口测试、爬虫开发等场景中,HTTP请求的发送与响应处理是核心需求。Requests库作为Python生态中最流行的HTTP ...
2026-04-14 很多新人学完Python、SQL,拿到一张Excel表还是不知从何下手。 其实,90%的商业分析问题,都藏在表格的结构里。 ” 引言:为 ...
2026-04-14在回归分析中,因子(即自变量)的筛选是构建高效、可靠回归模型的核心步骤——实际分析场景中,往往存在多个候选因子,其中部分 ...
2026-04-13在机器学习模型开发过程中,过拟合是制约模型泛化能力的核心痛点——模型过度学习训练数据中的噪声与偶然细节,导致在训练集上表 ...
2026-04-13在数据驱动商业升级的今天,商业数据分析已成为企业精细化运营、科学决策的核心手段,而一套规范、高效的商业数据分析总体流程, ...
2026-04-13主讲人简介 张冲,海归统计学硕士,CDA 认证数据分析师,前云南白药集团资深数据分析师,自媒体 Python 讲师,全网课程播放量破 ...
2026-04-13在数据可视化与业务分析中,同比分析是衡量业务发展趋势、识别周期波动的核心手段,其核心逻辑是将当前周期数据与上年同期数据进 ...
2026-04-13在机器学习模型的落地应用中,预测精度并非衡量模型可靠性的唯一标准,不确定性分析同样不可或缺。尤其是在医疗诊断、自动驾驶、 ...
2026-04-10数据本身是沉默的,唯有通过有效的呈现方式,才能让其背后的规律、趋势与价值被看见、被理解、被运用。统计制图(数据可视化)作 ...
2026-04-10在全球化深度发展的今天,跨文化传播已成为连接不同文明、促进多元共生的核心纽带,其研究核心围绕“信息传递、文化解读、意义建 ...
2026-04-09在数据可视化领域,折线图是展示时序数据、趋势变化的核心图表类型之一,其简洁的线条的能够清晰呈现数据的起伏规律。Python ECh ...
2026-04-09在数据驱动的时代,数据分析早已不是“凭经验、靠感觉”的零散操作,而是一套具备固定逻辑、标准化流程的系统方法——这就是数据 ...
2026-04-09长短期记忆网络(LSTM)作为循环神经网络(RNN)的重要改进模型,凭借其独特的门控机制(遗忘门、输入门、输出门),有效解决了 ...
2026-04-08在数据分析全流程中,数据质量是决定分析结论可靠性的核心前提,而异常值作为数据集中的“异类”,往往会干扰统计检验、模型训练 ...
2026-04-08在数字经济飞速发展的今天,数据已渗透到各行各业的核心场景,成为解读趋势、优化决策、创造价值的核心载体。而数据分析,作为挖 ...
2026-04-08在数据分析全流程中,数据处理是基础,图形可视化是核心呈现手段——前者负责将杂乱无章的原始数据转化为干净、规范、可分析的格 ...
2026-04-07