作者:豌豆花下猫
来源: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
“最近复购率一直在下降,我们的营销力度不小啊,为什么用户还是走了?” “是不是广告投放的用户质量不高?还是我们的产品问题 ...
2025-02-21以下文章来源于数有道 ,作者数据星爷 SQL查询是数据分析工作的基础,也是CDA数据分析师一级的核心考点,人工智能时代,AI能为 ...
2025-02-19在当今这个数据驱动的时代,几乎每一个业务决策都离不开对数据的深入分析。而其中,指标波动归因分析更是至关重要的一环。无论是 ...
2025-02-18当数据开始说谎:那些年我们交过的学费 你有没有经历过这样的场景?熬了三个通宵做的数据分析报告,在会议上被老板一句"这数据靠 ...
2025-02-17数据分析作为一门跨学科领域,融合了统计学、编程、业务理解和可视化技术。无论是初学者还是有一定经验的从业者,系统化的学习路 ...
2025-02-17挖掘用户价值本质是让企业从‘赚今天的钱’升级为‘赚未来的钱’,同时让用户从‘被推销’变为‘被满足’。询问deepseek关于挖 ...
2025-02-17近来deepseek爆火,看看deepseek能否帮我们快速实现数据看板实时更新。 可以看出这对不知道怎么动手的小白来说是相当友好的, ...
2025-02-14一秒精通 Deepseek,不用找教程,不用买资料,更不用报一堆垃圾课程,所有这么去做的,都是舍近求远,因为你忽略了 deepseek 的 ...
2025-02-12自学 Python 的关键在于高效规划 + 实践驱动。以下是一份适合零基础快速入门的自学路径,结合资源推荐和实用技巧: 一、快速入 ...
2025-02-12“我们的利润率上升了,但销售额却没变,这是为什么?” “某个业务的市场份额在下滑,到底是什么原因?” “公司整体业绩 ...
2025-02-08活动介绍 为了助力大家在数据分析领域不断精进技能,我们特别举办本期打卡活动。在这里,你可以充分利用碎片化时间在线学习,让 ...
2025-02-071、闺女,醒醒,媒人把相亲的带来了。 我。。。。。。。 2、前年春节相亲相了40个, 去年春节相亲50个, 祖宗,今年你想相多少个 ...
2025-02-06在数据科学的广阔领域中,统计分析与数据挖掘占据了重要位置。尽管它们常常被视为有关联的领域,但两者在理论基础、目标、方法及 ...
2025-02-05在数据分析的世界里,“对比”是一种简单且有效的方法。这就像两个女孩子穿同一款式的衣服,效果不一样。 很多人都听过“货比三 ...
2025-02-05当我们只有非常少量的已标记数据,同时有大量未标记数据点时,可以使用半监督学习算法来处理。在sklearn中,基于图算法的半监督 ...
2025-02-05考虑一种棘手的情况:训练数据中大部分样本没有标签。此时,我们可以考虑使用半监督学习方法来处理。半监督学习能够利用这些额 ...
2025-02-04一、数学函数 1、取整 =INT(数字) 2、求余数 =MOD(除数,被除数) 3、四舍五入 =ROUND(数字,保留小数位数) 4、取绝对值 =AB ...
2025-02-03作者:CDA持证人 余治国 一般各平台出薪资报告,都会哀嚎遍野。举个例子,去年某招聘平台发布《中国女性职场现状调查报告》, ...
2025-02-02真正的数据分析大神是什么样的呢?有人认为他们能轻松驾驭各种分析工具,能够从海量数据中找到潜在关联,或者一眼识别报告中的数 ...
2025-02-01现今社会,“转行”似乎成无数职场人无法回避的话题。但行业就像座围城:外行人看光鲜,内行人看心酸。数据分析这个行业,近几年 ...
2025-01-31