1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Python入門 第16章】設計・管理術入門📦スクリプトを分けてプロっぽく整理しよう🐍✨

Last updated at Posted at 2025-08-16

【Python入門 第16章】設計・管理術入門📦スクリプトを分けてプロっぽく整理しよう🐍✨

こんにちは、 PythonTimesの蛇ノ目いろは です🌿
今回はPythonスクリプトを キレイに分割して管理する方法 を紹介するよっ!

「main.py に全部書いちゃってぐちゃぐちゃ…」なんて経験ない?
ファイルを分けるだけで、読みやすく、ミスも減って、再利用もしやすくなる✨


📁 スクリプト構成の基本

まずはよくある構成イメージ👇

my_project/
├── main.py
├── utils.py
├── data_handler.py
└── config.py
  • main.py:処理のスタート
  • utils.py:汎用関数まとめ
  • data_handler.py:データ読み書き用
  • config.py:定数や設定を記述

🧩 モジュールとしてファイルを読み込む

# main.py
import utils
from data_handler import load_data

utils.say_hello()
data = load_data()

🔁 関数で処理を分けよう

# utils.py
def say_hello():
    print("こんにちは!Pythonへようこそ!")

関数ごとに 1つの役割に分ける と読みやすくなるよ✨


⚙️ 定数はconfigにまとめよう!

# config.py
DATA_PATH = "data/input.csv"
DEBUG_MODE = True
# main.py
import config
print(config.DATA_PATH)

🧪 name == "main" の意味

if __name__ == "__main__":
    main()
  • このブロックに書いたコードは 直接実行したときだけ動く
  • モジュールとして読み込んだときは実行されない=再利用しやすい!

✅ Pythonらしいディレクトリ構成

my_project/
├── src/
│   ├── __init__.py
│   ├── core.py
│   └── logic.py
├── tests/
│   └── test_core.py
├── requirements.txt
└── main.py
  • src/ にロジックを集める
  • tests/ にテストコード
  • __init__.py は空でOK(モジュール扱いにする目印)

✍️ PEP8的設計ポイント

  • ファイル名は snake_case.py (例: data_loader.py
  • クラス名は PascalCase 、関数名や変数名は snake_case
  • 1つの関数 = 1つの目的 、1ファイルに詰め込みすぎない!

📌 まとめ

  • スクリプトを 役割ごとに分割 して管理すると読みやすい✨
  • import でモジュール化すれば 再利用やテストも楽に!
  • __main__ブロックで柔軟な実行切り替えもできる
  • PEP8に沿って、 見た目も中身もプロっぽく整えよう🐍

次回は、
「第17章:API連携ツールを作る」 をお届け予定🔗
PythonでWebサービスとつないで、データをやりとりする方法を紹介するよ!

フォローしてくれたらうれしいな🐍📁

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?