「あぁ、また似たようなプログラムを作るのか。前に書いたあの処理、どのファイルにあったっけ……探すのが面倒だから、またイチから書くか」
こんな経験はありませんか?
コードの行数が増えてくると、目的の処理を探し出すだけでも多くの時間と集中力を消費してしまいますよね。このような課題を解決し、作業効率を大幅に向上させてくれる仕組みがPythonのモジュールになります。
今回は、プログラムを整理整頓して保守性を高めるモジュールの基本的な仕組みと、実践的な活用手順について解説します!
モジュールの基本的な仕組み
モジュールとは、一言で表すと文房具を機能ごとに分類した引き出しのような仕組みです。
ペン、ハサミ、ホッチキス、定規などをすべて机の上に散らかしたまま作業を続けると、いざ使いたいときに必要な道具がすぐに見つかりませんよね。
そこで、書くもの用や切るもの用といった形で引き出しを分けて整理整頓を行います。
Pythonのプログラム開発も全く同じ考え方です。すべての処理を1つのファイルにまとめて記述するのではなく、計算処理用や文字列整形用といった形で、役割ごとにファイルを分割して保存します。
このように分割された1つ1つのPythonファイル(拡張子が.pyのファイル)のことをモジュールと呼びます。
モジュールを活用する2つの大きなメリット
プログラムをモジュール単位に分割することには、実務上大きな2つのメリットがあります。
①エラー特定と修正にかかる時間の短縮
すべてのコードが1つのファイルに集中していると、不具合が発生した際に膨大な行数の中から原因箇所を探し出す必要があります。
モジュール化によって機能ごとにファイルが分かれていれば、計算結果に誤りがある場合は計算モジュールだけを確認すればよいため、最初から調査範囲を小さく絞り込むことが可能になります。そのため、コードの修正や確認にかかる時間が大幅に削減され、日々の作業効率が向上します。
②過去の成果物を手軽に再利用できる拡張性
一度作成したモジュールは、独立した部品として別のプログラムから何度でも読み込んで使用できます。
過去に作成したファイルをわざわざ探し出してコードをコピペする必要はなく、1行の読み込み処理を記述するだけで過去の資産をそのまま活用できます。
モジュールの作成と読み込み手順
実際にモジュールを作成し、別のメイン処理から呼び出す手順を確認してみましょう。
ここでは例として、消費税(10%)を計算する機能を独立したモジュールとして切り出してみます。
独立したモジュールファイルの作成
まずは以下のコードをコピーし、tax_calc.py というファイル名で保存します。これが今回作成するモジュール本体となります。
# tax_calc.py(消費税計算モジュール)
def add_tax(price: int) -> int:
"""
税抜金額を受け取り、消費税(10%)を加算した税込金額(整数)を返します。
"""
return int(price * 1.1)
メイン処理からのモジュール呼び出し
続いて、tax_calc.py と同じフォルダ内に main.py というメイン実行用ファイルを作成し、以下のコードを記述します。
# main.py(メイン実行スクリプト)
# 自作した tax_calc モジュールを読み込みます
import tax_calc
# 計算対象の本体価格を設定します
item_price = 1000
# tax_calc モジュール内の add_tax 関数を呼び出して計算します
total = tax_calc.add_tax(item_price)
# 実行結果を出力します
print(f"税込み価格は {total} 円です。")
main.py を実行すると、コンソール画面に「税込み価格は 1100 円です。」と出力されます。
import tax_calc と記述するだけで、外部ファイルに定義された関数を簡単に呼び出して活用できます。とても簡単ですよね。
モジュール運用における注意点
モジュールを自作して運用する際は、ファイル名に注意が必要です。
Pythonに標準で組み込まれているモジュール名(例: math.py や random.py、string.py など)と同じ名前で自作モジュールを作成してしまうと、Pythonが標準機能を正しく読み込めなくなり、予期せぬエラーの原因となります。
自作モジュールには、機能が明確に伝わるオリジナルの命名を心がけることが大切です。
まとめ
1つのファイルにすべての処理を詰め込んでいく書き方は、プログラムの規模が大きくなるにつれてメンテナンスが困難になってしまいます。
機能や目的ごとに処理をモジュールとして分割することで、コード全体の可読性が高まり、将来の修正や機能追加もスムーズに行えるようになります。
引き出しをすっきりと整理整頓するように、適切なモジュール分割を取り入れて、快適で保守性の高い自動化環境を構築していきましょう!
Pythonの本は種類が多すぎて、業務効率化に使えるのか見分けるのが大変ですよね。実務自動化に5年以上携わってきた私が、「デスクワークの自動化に即戦力になった本」を厳選して紹介します。失敗しない1冊を見つけたい方は、ぜひ参考にしてみてください。

コメント