
【6日でできるPython入門】モジュール
Pythonプログラムを整理・再利用しやすくするために「モジュール」という仕組みがあります。
モジュールとは関数やクラスをまとめたファイル単位の部品であり、複数のファイルにプログラムを分割して管理することができます。
既に組み込み関数や標準ライブラリのモジュールを使ってきましたが、自作のモジュールを作成し、import
文で読み込むことで自分のコードも再利用しやすくなります。
ここでは、モジュールの基本から応用までをわかりやすく解説します。

1.モジュールの基本と使い方
1.1. 自作モジュールを作る
calc.py
という名前で、足し算関数を定義します。
ファイル名: calc.py
# calc.py
def add(x, y):
return x + y
def subtract(x, y):
return x - y
def multiply(x, y):
return x * y
1.2. 他ファイルからモジュールを読み込む
同じフォルダにmain.py
を作り、calc
モジュールを使います。
ファイル名: main.py
# main.py
import calc
a = 10
b = 5
print(f"{a} + {b} = {calc.add(a, b)}")
print(f"{a} - {b} = {calc.subtract(a, b)}")
print(f"{a} * {b} = {calc.multiply(a, b)}")
実行結果
10 + 5 = 15
10 - 5 = 5
10 * 5 = 50
解説
import calc
でcalc.py
の関数を使えます。calc.add(x, y)
のようにモジュール名.関数名で呼び出します。
1.3. from-import文による部分的な読み込み
ファイル名: lesson23-1.py
from calc import add, multiply
print(add(7, 3))
print(multiply(7, 3))
# subtractは未インポートなので呼べない
# print(subtract(7, 3)) # これはエラーになる
実行結果
10
21
解説
- 必要な関数だけを直接呼び出せるため、名前空間をすっきりできます。
1.4. importの別名指定
ファイル名: lesson23-2.py
import calc as c
print(c.add(2, 4))
print(c.subtract(2, 4))
実行結果
6
-2
6
-2
解説
as
でモジュール名を短縮して使いやすくできます。
2.モジュールの実行と if __name__ == '__main__':
2.1. import時の挙動
main2.py
でmain.py
をimportした場合、
ファイル名: main.py(修正版)
# main.py(修正版)
import calc as c
def main():
print(c.add(1, 2))
if __name__ == '__main__':
main()
ファイル名: main2.py
main2.py
を実行するとmain.py
内のif __name__ == '__main__':
以下の処理は実行されません。
# main2.py
import main
解説
- モジュールは
import
されると、最初から順に読み込まれますが、__name__ == '__main__'
が直接実行時だけTrueになるため、
import時にはこのブロックは実行されません。
2.2. main関数パターン
- プログラムの起点を
main()
にまとめるのが良い習慣です。 - 他のモジュールからも
main.main()
で呼び出せます。
ファイル名: main3.py
main3.py
を実行するとmain.py
内のmain():
が実行されます。
# main3.py
import main
main.main()
実行結果
3
3.モジュール内での簡単なテスト
ファイル名: calc.py(末尾に記述)
# calc.py
def add(x, y):
return x + y
def subtract(x, y):
return x - y
def multiply(x, y):
return x * y
# calc.pyの末尾に記述
if __name__ == '__main__':
print("テスト:add(3,4) =", add(3, 4))
print("テスト:subtract(10,5) =", subtract(10, 5))
実行結果(直接calc.pyを実行した場合)
テスト:add(3,4) = 7
テスト:subtract(10,5) = 5
解説
- モジュール単独実行時だけテストが走るので便利です。
- 他のプログラムからimportされたときはテストは動きません。
まとめ表:モジュールの基礎
項目 | 内容 | ポイント |
---|---|---|
モジュール | Pythonファイル単位でコードをまとめる | 関数・クラスの集合を分割・再利用しやすくする |
import | 他のモジュールを読み込む | import モジュール名 でモジュール全体を読み込む |
from-import | 必要な部分だけ読み込む | from モジュール import 関数名 |
as(別名指定) | 名前を短くする | import モジュール名 as 別名 |
__name__ == '__main__' | 直接実行時だけ動くコードを書く場所 | importされた場合は実行されない |
モジュールを活用すれば、プログラムの規模が大きくなってもコードを分かりやすく整理でき、他のプログラムからも再利用しやすくなります。
この基本を押さえ、モジュール設計の第一歩を踏み出しましょう。