多くの組み込みライブラリは、可能な限り 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 モジュールを使用しています。_heapq
Modules/_heapqmodule.c
もちろんソースもダウンロードできます。http://python.orgのフロント ページには、最新の 2.x および 3.x バージョンの「ソース配布」の「クイック リンク」があります。または、他のすべてのリリースの「ダウンロード」をクリックできます。ご想像のとおり、構造はhttp://hg.python.orgで見られるものと同じです。