概要

Pythonのコードを部品化し再利用可能にする「モジュール」の仕組みを解説します。「便利な道具箱」に例え、import文を使ってその機能を取り込む基本から、fromやasを用いた効率的なインポート方法までを網羅。
Pythonに標準で付属するライブラリ、追加で導入するサードパーティ製、そして自分で作る自作モジュールの3種類を紹介し、簡単なモジュール作成も実践します。プログラムの整理と拡張に不可欠な知識が身につきます。
-
ゼロから始めるPython学習 STEP20目次
プログラミング未経験者向けPython入門講座。環境構築から変数、if文、for文、関数といった基本までを20のステップでわかりやすく解説します。自分のペースで一歩ずつ着実に学び、プログラミングの第一歩を踏み出しましょう!
続きを見る
目次
はじめに
前回のステップでは、一連の処理を「関数」としてまとめる方法を学びました。これにより、コードの再利用性が高まり、整理しやすくなりました。しかし、プログラムが大規模になってくると、たくさんの関数を一つのファイルで管理するのは大変です。
そこで登場するのがモジュール (module) です。モジュールは、関連する関数や変数、クラスなどを一つのファイルにまとめたものです。これを活用することで、Pythonの機能を拡張したり、自分のコードを部品化して整理したりすることができます。
一言で言えば、**モジュールは「便利な道具(関数など)が詰まった道具箱」**のようなものです。自分で新しい道具を作る代わりに、既にある便利な道具箱を持ってきて、中の道具を使わせてもらう。これがモジュールの基本的な考え方です。
モジュールを使う(インポートする)
モジュールにまとめられた機能を使うには、インポート (import) という操作が必要です。import
文を使うことで、そのモジュールを自分のプログラムに読み込み、中の機能を使えるようにします。
ここでは、数学的な計算に関する便利な関数が多く含まれている math
モジュールを例に見ていきましょう。
基本的な構文: import モジュール名
# mathモジュールをインポートする import math # mathモジュールの中にある sqrt という関数を使って平方根を計算する result = math.sqrt(25) # 25の平方根は5 print(result) # mathモジュールの中にある pi という変数(円周率)を使う print(f"円周率は {math.pi} です。") # 実行結果 # 5.0 # 円周率は 3.141592653589793 です。
import math
と書くことで、「math
という名前の道具箱を使えるように準備してください」とPythonにお願いしています。そして、道具箱の中の道具を使うには、道具箱の名前.道具の名前
のように、ドット .
でつなげて指定します。
graph A["プログラム開始"] --> B["import math (mathという道具箱を用意)"]; subgraph "math (道具箱)" C["sqrt (平方根を計算する道具)"] D["pi (円周率の値)"] end B --> E["math.sqrt(25) を呼び出す"]; E --> F["結果 5.0 を得る"]; F --> G["プログラム終了"];
インポートの様々な方法
モジュールをインポートする方法はいくつかあり、状況に応じて使い分けると便利です。
1. モジュール全体をインポートする (import module
)
先ほど紹介した、最も基本的な方法です。
- 書き方:
import math
- 使い方:
math.sqrt(25)
- メリット: どのモジュールの関数を使っているかが一目瞭然で分かりやすい (
math.
が付いているため)。 - デメリット: モジュール名が長い場合、毎回入力するのが少し面倒。
2. モジュールから特定の機能だけをインポートする (from ... import ...
)
道具箱の中から、使いたい道具だけを取り出して、自分の作業スペースに直接置くイメージです。
- 書き方:
from math import sqrt, pi
- 使い方:
sqrt(25)
(math.
が不要になる) - メリット: モジュール名を省略できるので、コードが短くなる。
- デメリット: どのモジュールから来た関数なのかが分かりにくくなることがある。また、自分のプログラムで定義した関数と同じ名前だった場合、上書きされてしまう危険性がある(名前の衝突)。
3. モジュールに別名(エイリアス)を付けてインポートする (import ... as ...
)
道具箱に、自分が分かりやすいように「ニックネーム」を付けて使うイメージです。特に、データ分析でよく使われる numpy
や pandas
といった長い名前のモジュールで頻繁に使われます。
- 書き方:
import math as m
- 使い方:
m.sqrt(25)
- メリット: コードの記述量を減らしつつ、名前の衝突も避けられる、バランスの取れた方法。
- デメリット: 慣例から外れた別名を付けると、他の人が読んだときに分かりにくくなる可能性がある (例:
import numpy as np
は広く使われる慣例)。
graph TD subgraph "インポートの方法" A["import math"] --> B["math.sqrt()"]; C["from math import sqrt"] --> D["sqrt()"]; E["import math as m"] --> F["m.sqrt()"]; end
どんなモジュールがあるの?
モジュールには、大きく分けて3つの種類があります。
- 標準ライブラリ: Pythonをインストールしたときに最初から付属しているモジュール群。数学計算 (
math
)、乱数の生成 (random
)、日付や時刻の操作 (datetime
) など、非常に多くの便利な機能が揃っています。 - サードパーティライブラリ: 世界中の開発者が作成し、公開しているモジュール群。データ分析の
NumPy
やPandas
、ウェブサイトから情報を取得するRequests
など、専門的で高度な機能を持つものがたくさんあります。これらはpip
というツールを使って別途インストールする必要があります。 - 自作モジュール: 自分で作成したモジュール。
自分でモジュールを作ってみよう
モジュールは特別なものではなく、単なるPythonのファイル (.py
ファイル) です。自分で関数を作って、それを別のファイルからインポートすることも簡単にできます。
Step 1: モジュールファイルを作成する (my_calculator.py
) まず、計算用の関数をまとめた my_calculator.py
というファイルを作成します。
# my_calculator.py def add(a, b): """二つの数を足し算する関数""" return a + b def subtract(a, b): """最初の数から二番目の数を引き算する関数""" return a - b
Step 2: メインのファイルからインポートして使う (main.py
) 次に、my_calculator.py
と同じフォルダに main.py
というファイルを作成し、先ほど作ったモジュールをインポートします。
# main.py # 自作した my_calculator モジュールをインポート import my_calculator # モジュール内の関数を使う sum_result = my_calculator.add(10, 5) print(f"足し算の結果: {sum_result}") diff_result = my_calculator.subtract(10, 5) print(f"引き算の結果: {diff_result}") # 実行結果 # 足し算の結果: 15 # 引き算の結果: 5
graph LR subgraph "ファイル構成" A["my_calculator.py (モジュール)"] -- contains --> B["add()関数, subtract()関数"]; C["main.py (実行ファイル)"] -- "import my_calculator" --> A; end
このように、自分で作った関数群もモジュールとして再利用することができます。これにより、プロジェクトの構造を機能ごとにファイル分けして、非常に見通し良く管理することが可能になります。
まとめ
今回は、Pythonの機能を拡張し、コードを整理するための「モジュール」について学びました。
- モジュール: 関数などがまとめられたPythonファイル(道具箱)。
import
: モジュールを読み込んで使えるようにする命令。- インポートの3つの方法:
import m
,from m import f
,import m as alias
を状況に応じて使い分ける。 - モジュールの種類: 最初から使える標準ライブラリ、追加で入れるサードパーティライブラリ、そして自作モジュールがある。
モジュールを使いこなすことは、Pythonプログラミングを次のレベルに進めるための鍵です。まずは math
や random
などの標準ライブラリを色々試して、どんな便利な道具があるのか探検してみましょう。
-
ゼロから始めるPython学習 STEP20目次
プログラミング未経験者向けPython入門講座。環境構築から変数、if文、for文、関数といった基本までを20のステップでわかりやすく解説します。自分のペースで一歩ずつ着実に学び、プログラミングの第一歩を踏み出しましょう!
続きを見る