Keep your place in this quest

Log in or sign up for free to subscribe, follow lesson progress, and access more learning content.

モジュールが何か分かったところで、もう一歩進んでPythonのパッケージについて話しましょう。

パッケージとは、関連するモジュールを一つの整理されたフォルダにまとめる方法です。
モジュールが個々のツールのようなものなら、パッケージは複数のツールがきちんと整理された工具箱のようなものです。


パッケージとは何か?

パッケージは単純にディレクトリで、その中に以下が含まれています:

  • __init__.py ファイル(空でも良い)
  • 1つ以上のモジュールファイル(.py
  • 任意のサブパッケージ(独自の__init__.pyを持つフォルダ)

__init__.py ファイルはパッケージがインポートされると実行されます。
デフォルトのインポート設定をしたり、変数定義や初期化コードの実行に使えます。

パッケージ構造の例

こちらは mypackage というシンプルなパッケージです:

mypackage/
__init__.py
module1.py
module2.py

__init__.py でデフォルトインポートを設定する

__init__.py の中で、誰かがパッケージをインポートしたときに直接アクセスできる部分を選べます。

例 — mypackage/__init__.py

from .module1 import my_function
from .module2 import another_function

こうすることで、パッケージをインポートした時に、それぞれのモジュールを個別にインポートせずともこれらの関数が使えます。

パッケージのインポートと使用

例 — 別のPythonファイル内で:

import mypackage

mypackage.my_function()
mypackage.another_function()

ここで:

  • import mypackage__init__.py のコードを実行します。
  • module1module2 の関数は __init__.py でインポートされているため使えます。
ヒント:もし好みなら、特定のモジュールだけをパッケージからインポートすることも可能です:
from mypackage import module1

なぜパッケージを使うの?

パッケージはあなたのコードを: • 論理的なセクションに整理するのに役立ちます。 • 関連モジュールを異なるプロジェクトで再利用できます。 • プログラムが複雑になるにつれて拡張できます。

大きなアプリケーションを作っている場合でも、コードをきちんと整理しておきたい場合でも、パッケージはクリーンでメンテナブルなPythonプロジェクトの基本です。


次は、さまざまな方法でモジュールやパッケージのインポートを学び、それぞれの使い分けについて説明します。