6

我希望能够通过 Python 源代码进行调查和跟踪,以了解事情在幕后是如何工作的,并解决对参考文档中未明确记录的功能的疑问。

我想有一些关于如何解决这个问题的起始信息,因为它非常压倒性。我会读 C,所以我有这个习惯。除此之外,在没有至少少量指导的情况下,这项任务似乎有点令人生畏。

例如,假设我想记录属性引用是如何在 Python 中实现的。当 Python 程序中存在属性引用表达式时,我将如何跟踪会发生什么?

也许对源代码的组织方式和每个部分的功能进行概述,以及一些“walk=thru”示例,例如“attribute reference”案例,会有所帮助。

我搜索了这方面的信息,但似乎没有太多。

4

2 回答 2

1

也许一个好的 Python 调试器会有所帮助?我会尝试使用Eclipse 的 PyDev 插件。这至少可以帮助您跟踪在引用类的属性时调用了哪些特殊的 python 方法(例如__getattr__()or )。__setattr__()如果需要更深入,可以查看Python C API甚至Python C 源代码

于 2012-10-24T16:31:53.373 回答
1

python标准库中有一个trace模块。它有几种模式,可以用来打印每一行 python 代码,因为它是这样执行的:

python -m trace -t myscript.py

请参阅http://docs.python.org/library/trace.html

于 2012-10-24T16:56:42.853 回答