オブジェクト指向プログラミングにおいて、クラスはプログラムの構成要素の1つですが、プログラムが大規模になるにつれ、複数のファイルに分割して開発することが望ましい場合があります。そこで、Pythonではモジュールとパッケージという機能が用意されています。
モジュール
モジュールとは、Pythonのコードが書かれたファイルのことを指します。モジュールを作成することで、プログラムを複数のファイルに分割し、管理しやすくすることができます。
また、他のプログラムからモジュールをインポートして利用することもできます。
具体的には以下のようなPythonのコードを見てみましょう。
# greeting.py
def say_hello(name):
print(f"Hello, {name}!")
# main.py
import greeting
greeting.say_hello("Alice")
上記の例では、greeting.pyというファイルを作成し、say_hello()という関数を定義しています。そして、main.pyというファイルで、greetingモジュールをインポートして、say_hello()関数を呼び出しています。
パッケージ
パッケージとは、複数のモジュールを1つのディレクトリにまとめたものです。
パッケージを作成することで、プログラムを更に階層化し、管理しやすくすることができます。
具体的には以下のようなPythonのコードを見てみましょう。
example/
├── __init__.py
├── greeting/
│ ├── __init__.py
│ └── hello.py
└── main.py
上記の例では、exampleというディレクトリを作成し、その中に__init__.pyというファイルを配置しています。この__init__.pyファイルは、パッケージを示すために必要なものです。
また、greetingというサブディレクトリを作成し、その中に__init__.pyファイルとhello.pyファイルを配置しています。そして、main.pyというファイルを作成して、greetingパッケージをインポートして、helloモジュールのsay_hello()関数を呼び出しています。