Pythonクイックリファレンス 第4版
by Alex Martelli, Anna Martelli Ravenscroft, Steve Holden, Paul McGuire, 鈴木 駿, 株式会社クイープ
7章モジュールとパッケージ
一般的なPythonプログラムは複数のソースファイルで構成されている。ソースファイルはそれぞれコードとデータを再利用するためにまとめられたモジュール(module)である。通常、モジュールは互いに独立しているため、他のプログラムで必要なモジュールを再利用できる。場合によっては、複雑さに対処するために、関連するモジュールを1つのパッケージ(package)にまとめることがある。パッケージとは、関連するモジュールとサブパッケージからなる階層的なツリー構造のことである。
モジュールが別のモジュールに依存する場合は、import文またはfrom文を使ってそのことを明示的に指定する。プログラミング言語によっては、グローバル変数がモジュールとモジュールを結ぶ秘密のパイプになることがある。Pythonのグローバル変数は、すべてのモジュールに対してグローバルなのではなく、1つのモジュールオブジェクトの属性である。したがって、Pythonのモジュールは常に管理可能な方法で明示的にやり取りする。このため、モジュールどうしの結び付きは明確で理解しやすい。
Pythonは拡張モジュール(extension module)もサポートしている。拡張モジュールは、C、C++、Java、C#、Rustなどの他の言語でコーディングされたモジュールである。モジュールをインポートするPythonコードにとって、モジュールがピュアPythonなのか拡張なのかはたいしたことではない。モジュールは常にPythonで書き始めることができる。その後で高速化が必要になった場合は、モジュールをリファクタリングして、その一部を低水準言語で書き直すことができる。そうしたとしても、そのモジュールを使っているクライアントコードを変更する必要はない。 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access