【Python】モジュールについて詳しく解説
Pythonのモジュールとは?
Pythonのモジュールとは、Pythonのコードを整理するための仕組みです。モジュールは基本的に「.py」拡張子を持つPythonのスクリプトファイルであり、関数、クラス、変数などを定義できます。 モジュールを使用すると、コードの再利用性が向上し、プログラムの構造を整理しやすくなります。
モジュールの例
例えば、以下のような関数を定義したPythonファイル(greetings.py
)を作成したとします。
# greetings.py def hello(name): return f"こんにちは、{name}さん!" def goodbye(name): return f"さようなら、{name}さん!"
別のPythonスクリプトでこのモジュールをインポートすることで、関数を利用できます。
import greetings print(greetings.hello("太郎")) # こんにちは、太郎さん! print(greetings.goodbye("太郎")) # さようなら、太郎さん!
組み込みモジュール
Pythonには標準で利用できる組み込みモジュールが多数存在します。例えば、math
モジュールや random
モジュールなどがあります。
mathモジュールの使用例
import math print(math.sqrt(25)) # 5.0 print(math.pi) # 3.141592653589793
randomモジュールの使用例
import random print(random.randint(1, 10)) # 1から10の間のランダムな整数 print(random.choice(["apple", "banana", "cherry"])) # リストからランダムに選択
モジュールのインポート方法
Pythonでモジュールをインポートする方法はいくつかあります。
通常のインポート
import math print(math.sqrt(16)) # 4.0
エイリアスを使ったインポート
import numpy as np array = np.array([1, 2, 3]) print(array) # [1 2 3]
特定の関数だけをインポート
from math import sqrt print(sqrt(16)) # 4.0
全ての要素をインポート
from math import * print(sin(pi/2)) # 1.0
ただし、import *
は可読性が低下するため、推奨されません。
自作モジュールの作成
自作モジュールは簡単に作成できます。新しい .py
ファイルを作成し、関数やクラスを定義するだけです。
例: 自作の計算モジュール
# calc.py def add(a, b): return a + b def subtract(a, b): return a - b
モジュールの使用
import calc print(calc.add(10, 5)) # 15 print(calc.subtract(10, 5)) # 5
モジュールとパッケージの違い
モジュールは単一のPythonファイルですが、パッケージは複数のモジュールをまとめたディレクトリです。
パッケージの構成例
mypackage/ ├── __init__.py ├── module1.py ├── module2.py
__init__.py
を配置することで、mypackage
はパッケージとして認識されます。
パッケージのインポート
from mypackage import module1 module1.some_function()
便利なPythonの標準モジュール
Pythonには便利な標準モジュールが多く用意されています。
datetimeモジュール
import datetime now = datetime.datetime.now() print(now) # 現在の日時を取得
osモジュール
import os print(os.getcwd()) # 現在の作業ディレクトリを取得
sysモジュール
import sys print(sys.version) # Pythonのバージョン情報を取得
jsonモジュール
import json data = {"name": "Alice", "age": 25} json_str = json.dumps(data) print(json_str) # '{"name": "Alice", "age": 25}'
まとめ
Pythonのモジュールはコードの整理や再利用に役立ちます。組み込みモジュール、自作モジュール、パッケージの違いを理解し、適切に活用しましょう。