Python | モジュール学習の完全版(初学者から実務レベルまで)

Python
スポンサーリンク

それでは、モジュール学習の完全版(初学者から実務レベルまで)として、以下の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
Python

textutils.py

def shout(text):
    return text.upper() + "!"
Python

main.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']}")
Python

storage.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 []
Python

main.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 アプリ構成例

次のステップ

  1. pip install rich → カラフルな出力でToDoを美しく
  2. __all__import * の挙動を学ぶ
  3. sys.path を確認して、モジュール検索順序を理解
  4. 単体テスト (unittest / pytest) と組み合わせて確認
Python
スポンサーリンク
シェアする
@lifehackerをフォローする
スポンサーリンク
タイトルとURLをコピーしました