Pythonには、言語プリミティブとしてのAPI(またはインターフェース)の概念がありません。モジュールまたはパッケージは、そのメンバー(関数と変数)の一部を公開し、他のメンバーを非表示にします。したがって、関心のあるモジュールがわかっている場合、この意味での「公開」はAFAIKで最も意味のある概念です。
公開されたメンバーは、を実行した場合にインポートされるメンバーと同じですfrom <module> import *
。ご存知かもしれませんが、1つのアンダースコアで始まる、または2つのアンダースコアで始まり、2で終わらないメンバー名は、APIの一部であることが意図されておらず、エクスポートされません。デフォルトでは、他のすべてが公開されますが、モジュールは、変数にエクスポートする必要があるものをリストすることにより、APIをカスタマイズできます。パッケージからの*のインポートを参照してください。__all__
したがって、探しているAPIを見つけるには、最初に関心のあるトップレベルモジュールを知る必要があります。問題のアプリケーションがPythonで単一のパッケージとして利用できる場合は、それから始めます。変数がある__all__
場合、その内容はパッケージのAPIです。そうでない場合は、の内容を調べて、dir(<package>)
1つのアンダースコアのみで始まるもの、または2つのアンダースコアで始まり、2つで終わらないものを除外します。大きなパッケージを見ている場合、あなたが見つけるもののいくつかはそれ自体がモジュールまたはパッケージです。同じ方法で、再帰的にそれらを調べます。