【Python】モジュールについて詳しく解説

【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のモジュールはコードの整理や再利用に役立ちます。組み込みモジュール、自作モジュール、パッケージの違いを理解し、適切に活用しましょう。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です