我想开始阅读Python源代码。我应该在哪里

2024-05-23 20:52:25 发布

您现在位置:Python中文网/ 问答频道 /正文

我想开始阅读Python源代码。

我的经验

我非常了解Python和Java。我知道其他一些语言的熟练程度不同,但C/C++都不是很好。我在大学里学过C,但从来没有专业的程序。

我读这段代码的原因。

  1. 了解python如何在引擎盖下工作。
  2. 学得更好。

对我来说1比2更重要。

我该怎么办?


Tags: 代码程序语言源代码专业原因经验java
3条回答

首先学习Python C API。它是一个大型且丰富的API,Python源代码自然地在所有地方都使用它。在理解Python源代码的含义之前,您不会深入了解Python源代码。

我在Pycon上做了一个演示,解释了API:A Whirlwind Excursion through Python C Extensions,您可能会发现它很有用。C扩展使用与Python代码本身相同的API。

1)首先确保可以构建自己的Python并将其运行到调试器中。 因此,您不仅可以添加打印表达式,还可以在点处打断并遵循代码流。 如果你有一个可以跟踪函数调用的toolsl,完美的,你将需要它。

2)从实现数据类型的文件开始。它们很容易理解,而且你在阅读代码的同时提高了你的C语言技能。

3)制作UML图表-简单的绘图辅助工具,如Argo UML或MS Visio可以帮助您。写下代码流。

4)阅读python的启动代码。查看初始化基本基础结构的内容和方式。

6)完全理解Python端——甚至更难的实现细节,什么是AST,什么是绑定和未绑定方法,以及如何实现它们。当您考虑如何编写python解释器时,可以进入最后一个主步骤。

7)使用提供的快速调试器C API编写调试器扩展。 这有助于提高你的C技能。

8)执行最后一个主步骤,深入到解释器代码的核心。对于一个熟练的C程序员来说,这甚至很难理解。了解表达式是如何求值的,方法looksup是如何缓存的,框架是如何设置作用域规则的等等。这很难,也很复杂-从复杂度和代码行来看。

9)启动Adobe Photoshop,创建一个漂亮的“Python大师”文凭,并把它放在你的办公室墙上。

首先,如果您对1最感兴趣,我将从阅读各种模块的Python源代码开始(而不是直接跳到C)。每当我发现自己在阅读一些模块的源代码时,我总能学到一些关于Python编程的新知识。

第二,如果你想更好地学习C语言,我个人会提出一些完全不同的建议:在其中编写程序。静态地阅读源代码并不能使您更好地理解C(或者至少,这是一种有限的方法;它可能会使您更好一点,但是只有这么多的东西可以让您阅读源代码)。

在用C语言编写了至少一个中等大小的项目之后,然后我将开始查看Python源代码。这确实是更好地了解C的唯一方法,而且我真的认为,在不了解C的情况下阅读Python的C源代码并不会让您走得很远。

一个C项目的想法

事实上,C项目的一个想法是:用C语言编写一个Python解释器。很明显,它甚至还没有完成,这是一个相当困难的项目,但是如果你只关注语言的某些部分,我认为这是一个好主意。

它不仅有助于您学习C语言,甚至在查看源代码之前也能帮助您更好地理解Python:您必须深入理解Python中的许多内容,了解Python如何工作等方面的设计权衡

然后,当你最终阅读Python的代码时,你不仅会理解为什么有些事情是这样工作的,你可能会学到很多非常酷的C技术来解决你遇到的问题。

相关问题 更多 >