多くの組み込みライブラリは、可能な限り C 実装を使用します。
たとえば、heapq利用lib-dynload/_heapq.so可能な場合に使用します。
のようなモジュールのソース コードはどこにあります_heapqか?
多くの組み込みライブラリは、可能な限り C 実装を使用します。
たとえば、heapq利用lib-dynload/_heapq.so可能な場合に使用します。
のようなモジュールのソース コードはどこにあります_heapqか?
3.3 リリースの多くの C モジュールのコード:
http://hg.python.org/cpython/file/3.3/Modules
heapq ソースへの直接リンク:
http://hg.python.org/cpython/file/3.3/Modules/_heapqmodule.c
CPython の任意のバージョンのコードを表示するには、次の場所に移動します。
古いバージョンの場合は何でも、3.3 を 3.2、2.3 に置き換えます。探しているものがわかっている場合は、major.minor バージョンの代わりに hg リビジョン番号を明示的に指定することもできます。
C モジュールはほとんどがModulesサブディレクトリ内にあり、それぞれのモジュールは一般にfoo.cまたはという名前foomodule.cですが、Python ライブラリはLibという名前のサブディレクトリにありfoo.pyます。
の場合heapq、実際のheapqモジュールは Python ( ) にありますが、 ( )Lib/heapq.pyという名前の C モジュールを使用しています。_heapqModules/_heapqmodule.c
もちろんソースもダウンロードできます。http://python.orgのフロント ページには、最新の 2.x および 3.x バージョンの「ソース配布」の「クイック リンク」があります。または、他のすべてのリリースの「ダウンロード」をクリックできます。ご想像のとおり、構造はhttp://hg.python.orgで見られるものと同じです。