それでは、モジュール学習の完全版(初学者から実務レベルまで)として、以下の3部構成でやさしく・具体的に・例題つきで解説します。
【第1部】外部ライブラリを使う:pip install の使い方と例
pip とは?
pip は「Python のパッケージ管理ツール」です。
他の人が作った便利なライブラリ(=モジュールの集まり)をインストールできます。
基本コマンド
pip install ライブラリ名
例:
pip install requests
アンインストール:
pip uninstall requests
インストール済み一覧:
pip list
例題:requests を使ってウェブデータを取得
import requests
url = "https://api.github.com"
res = requests.get(url)
print(res.status_code) # 200(成功)
print(res.headers["content-type"])
print(res.json()) # JSON形式のデータをPythonの辞書として取得
Pythonポイント
requests.get(url)は Web からデータを取得する関数。.json()は JSON 形式(APIでよく使われる)を自動的に辞書へ変換。
応用例:自分の天気を取るAPI(openweathermapなど)にも応用可能!
ちょっと便利な pip 技
pip install requests==2.31.0 # バージョン指定
pip show requests # 詳細情報を確認
pip install -r requirements.txt # 複数ライブラリを一括インストール
【第2部】パッケージ:フォルダでモジュールを整理する方法
パッケージとは?
- 複数のモジュールをまとめたフォルダのこと。
- そのフォルダの中に
__init__.pyファイルがあると、「ここはパッケージです」と Python に認識されます。
📂 例:自作のパッケージ構成
myapp/
│
├── __init__.py ← 空でもOK
├── mathutils.py ← 計算関連
├── textutils.py ← 文字列関連
└── main.py ← 実行用スクリプト
各ファイルの内容例
mathutils.py
def add(a, b):
return a + b
def multiply(a, b):
return a * b
Pythontextutils.py
def shout(text):
return text.upper() + "!"
Pythonmain.py
from myapp import mathutils, textutils
print(mathutils.add(3, 4))
print(textutils.shout("hello"))
Python✅ ポイント
__init__.pyがあることでmyappがパッケージとして認識される。myapp.mathutils.add()のようにモジュールを階層的に呼び出せる。
応用:__init__.py でまとめる
__init__.py
from .mathutils import add, multiply
from .textutils import shout
Pythonこうしておくと、main.py では:
from myapp import add, shout
print(add(2, 3))
print(shout("hi"))
Pythonと シンプルな import が可能。
💡 TIPS:フォルダ構成で整理する
utils/に共通関数を集めるmodels/にデータクラスをまとめるtests/にテストを置く
→ 大きなプロジェクトでもスッキリ!
【第3部】実践プロジェクト:モジュールを分けて作る ToDo アプリ
ここでは「ファイル分割」と「import の活用」を体感しましょう!
📂 構成
todo_app/
│
├── main.py # 実行用
├── storage.py # データの保存・読み込み
└── tasks.py # タスクの操作
tasks.py — タスク操作モジュール
def add_task(tasks, title):
tasks.append({"title": title, "done": False})
return tasks
def complete_task(tasks, index):
tasks[index]["done"] = True
return tasks
def list_tasks(tasks):
for i, t in enumerate(tasks):
status = "✔" if t["done"] else "✖"
print(f"{i+1}. [{status}] {t['title']}")
Pythonstorage.py — JSONで保存・読み込み
import json
def save_tasks(filename, tasks):
with open(filename, "w", encoding="utf-8") as f:
json.dump(tasks, f, ensure_ascii=False, indent=2)
def load_tasks(filename):
try:
with open(filename, "r", encoding="utf-8") as f:
return json.load(f)
except FileNotFoundError:
return []
Pythonmain.py — メイン実行ファイル
from tasks import add_task, complete_task, list_tasks
from storage import save_tasks, load_tasks
FILENAME = "tasks.json"
tasks = load_tasks(FILENAME)
while True:
print("\n--- ToDo アプリ ---")
print("1. 追加 2. 完了 3. 表示 4. 終了")
choice = input("選択 > ")
if choice == "1":
title = input("タスク名:")
add_task(tasks, title)
save_tasks(FILENAME, tasks)
elif choice == "2":
list_tasks(tasks)
num = int(input("完了にする番号:")) - 1
complete_task(tasks, num)
save_tasks(FILENAME, tasks)
elif choice == "3":
list_tasks(tasks)
elif choice == "4":
print("終了します。")
break
else:
print("1〜4を選んでください。")
Python💡 学べること
importで他のファイル(モジュール)を呼び出す方法- 関数を分けることでコードが読みやすくなる
jsonモジュールでデータを保存できる- モジュールを組み合わせて1つのアプリを作れる!
総まとめ(モジュールの学びマップ)
| 段階 | 内容 | 例 |
|---|---|---|
| ★☆☆ | 標準モジュールを使う | math, random, datetime |
| ★★☆ | 外部ライブラリを使う | pip install requests |
| ★★★ | 自作モジュールを作る | mymath.py, textutils.py |
| ★★★ | パッケージ構成にする | myapp/__init__.py |
| ★★★★ | 複数モジュールでアプリを作る | ToDo アプリ構成例 |
次のステップ
pip install rich→ カラフルな出力でToDoを美しく__all__やimport *の挙動を学ぶsys.pathを確認して、モジュール検索順序を理解- 単体テスト (
unittest/pytest) と組み合わせて確認
