Pythonを学び始めたばかりの人にとって、import
の仕組みは少し難しく感じるかもしれません。この記事では、Pythonのモジュールとパッケージについて、ハンズオン形式でわかりやすく解説します!💡
Pythonのコードを整理し、再利用しやすくするために、モジュールやパッケージを適切に使いこなすことが重要です。一緒に学んでいきましょう!✍️✨
📌 学習の流れ
- モジュールとパッケージの違いを理解する
- モジュールを作成してインポートする
- パッケージを作成してインポートする
__init__.py
の役割を知るfrom ... import ...
を活用する
1️⃣ モジュールとパッケージの違いを理解する
まずは、モジュールとパッケージの違いを押さえておきましょう!
🔹 モジュールとは?
Pythonの**「1つのファイル(*.py
)」** がモジュールです。
例えば、math_utils.py
というファイルを作り、その中に関数を定義すれば、それがモジュールになります。
🔹 パッケージとは?
パッケージは複数のモジュールをまとめたフォルダです。フォルダ内に __init__.py
という特別なファイルを置くことで、パッケージとして認識されます。
💡 イメージ
my_project/
│── main.py # メインのスクリプト
│── utils/ # パッケージ
│ │── __init__.py
│ │── math_utils.py
│ │── string_utils.py
パッケージを使うと、モジュールを整理しやすくなります!📂✨
2️⃣ モジュールを作成してインポートする
🔹 ステップ1:モジュールを作成
まずは、簡単なモジュールを作成しましょう!
📂 フォルダ構成
my_project/
│── main.py
│── math_utils.py # ここに関数を定義
📌 math_utils.py
に以下のコードを書きます。
# math_utils.py
def add(a, b):
return a + b
def subtract(a, b):
return a - b
🔹 ステップ2:モジュールを import
して使う
📌 main.py
に以下のコードを書きます。
# main.py
import math_utils # math_utils.py をインポート
result1 = math_utils.add(3, 5)
result2 = math_utils.subtract(10, 4)
print(f"3 + 5 = {result1}")
print(f"10 - 4 = {result2}")
🔹 実行してみよう!
python main.py
🔹 出力結果
3 + 5 = 8
10 - 4 = 6
✅ これで、モジュールの作成とインポートができました!🎉
3️⃣ パッケージを作成してインポートする
今度は、複数のモジュールをまとめた「パッケージ」を作成してみましょう!
🔹 ステップ1:パッケージを作成
📂 フォルダ構成
my_project/
│── main.py
│── utils/ # これがパッケージ
│ │── __init__.py # パッケージと認識させるためのファイル
│ │── math_utils.py
│ │── string_utils.py
📌 utils/math_utils.py
def add(a, b):
return a + b
def subtract(a, b):
return a - b
📌 utils/string_utils.py
def to_uppercase(s):
return s.upper()
def to_lowercase(s):
return s.lower()
📌 utils/__init__.py
# __init__.py は空でもOK
🔹 ステップ2:パッケージを import
して使う
📌 main.py
に以下のコードを書きます。
# main.py
from utils import math_utils, string_utils
print(math_utils.add(2, 3)) # 5
print(math_utils.subtract(9, 4)) # 5
print(string_utils.to_uppercase("hello")) # HELLO
print(string_utils.to_lowercase("WORLD")) # world
🔹 実行してみよう!
python main.py
🔹 出力結果
5
5
HELLO
world
✅ これで、パッケージの作成とインポートができました!🎉
4️⃣ __init__.py の役割
__init__.py
は、フォルダを「パッケージ」として認識させるための特別なファイルです。
- Python 3.3 以降では空でも OK
- パッケージの初期化処理を書ける
- 一括でモジュールをインポートできる
📌 例えば、utils/__init__.py
に以下を記述すると、簡単にアクセスできます。
from .math_utils import add, subtract
from .string_utils import to_uppercase, to_lowercase
すると、main.py
は次のようにシンプルになります。
# main.py
from utils import add, subtract, to_uppercase, to_lowercase
print(add(10, 20)) # 30
print(subtract(50, 15)) # 35
print(to_uppercase("python")) # PYTHON
print(to_lowercase("BLAZOR")) # blazor
✅ これで、パッケージのモジュールを簡単に使えるようになりました!🎉
5️⃣ from ... import ... の活用
モジュールのインポート方法にはいくつかの種類があります。
インポート方法 | 使い方 |
---|---|
import module_name |
module_name.function() のように呼び出す |
from module_name import function_name |
function_name() で直接使える |
import module_name as alias |
alias.function() のように短縮名で使える |
例えば、
import utils.math_utils as mu
print(mu.add(5, 5)) # 10
✅ まとめ
- モジュール は
.py
ファイル - パッケージ は複数のモジュールを含むフォルダ
__init__.py
を使うとパッケージを簡単に扱えるfrom ... import ...
を活用するとスッキリしたコードが書ける
🏆 次にやること
✅ 自分で「utils」パッケージを作成して練習
✅ 新しいモジュールを追加して試してみる
✅ __init__.py
を活用してみる
Pythonの import
の仕組みをマスターして、効率的なコーディングを目指しましょう!🚀✨