6

Python のソース コードを調査して追跡し、内部でどのように動作するかを確認し、参照ドキュメントに明示的に記載されていない機能に関する疑問を解決できるようにしたいと考えています。

かなり圧倒されるので、これをどのように進めるかについていくつかの開始情報を提供したいと思います。私はCを読むことができるので、それは私のために起こっています。それに加えて、このタスクは、少なくともわずかなガイダンスがなければ、少し威圧的に見えます。

たとえば、属性参照が Python でどのように実装されているかを文書化したいとしましょう。属性参照式が Python プログラムに存在する場合に何が起こるかを追跡するにはどうすればよいですか?

おそらく、ソース コードがどのように構成されているか、および各部分が何をするかの概要と、「属性参照」のケースなどの「walk=thru」の例が参考になるでしょう。

これに関する情報を検索しましたが、あまりないようです。

4

2 に答える 2

1

おそらく、優れた Python デバッガーが役立つでしょうか? Eclipse 用の PyDev プラグインを使用してみます。これは少なくとも、クラスの属性を参照するときに呼び出される特別な python メソッド (__getattr__()または など) を追跡するのに役立ちます。__setattr__()さらに深く掘り下げる必要がある場合は、Python C APIまたはPython C Source Codeを参照してください。

于 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 に答える