当サイトは、アフィリエイト広告を利用しています

【Python】packageとmoduleについて

作成日:2024月04月17日
更新日:2024年04月17日

Python言語を使って開発をするにあたり、基本の知識として

  • moduleとは?
  • packageとは?

について調べたのでまとめておく。

moduleとは?

Pythonのスクリプトファイル(.py)のこと。
module内の関数や変数は、module名を使ってアクセスできる

モジュールの関数や変数を使うサンプル

モジュールの関数を使用してみる

構成
.
├── main.py
└── app
├── __init__.py
└── func1.py

で試す

func1.py

変数とhello関数を定義

func1.py
# 変数を設定
name = "test"
# 関数を設定
def hello():
print(name)

main.py

モジュールの読み込んで実行

main.py
# モジュール読み込み
from app import func1
# モジュールの関数を実行
func1.hello()
# モジュールの変数を表示
print(func1.name)
# 実行結果
# test
# test

packageとは?

pythonのpackageは大きく分けると

  • PyPIで管理されているパッケージ(ライブラリ)
  • 自分で作成するパッケージ

の2種類がある

PyPIで管理されているパッケージ(ライブラリ)

これはライブラリとも呼ばれ、Pythonのコミュニティによって開発されてメンテナンスされている。

有名どころでいうと

  • NumPy:数値計算を効率的に行うためのライブラリ
  • Pandas:データ分析を行うためのライブラリ
  • Matplotlib:データの可視化を行うためのライブラリ
  • Scikit-learn:機械学習のためのライブラリ
  • Requests:HTTPリクエストを送信するためのライブラリ

などがある

使うにはpipでインストールし、モジュールでimportして使う

インストール

pip
pip install numpy

importして使う

main.py
# モジュール読み込み
from app import func1
import numpy as np
# モジュールの関数を実行
func1.hello()
# モジュールの変数を表示
print(func1.name)
# 配列の作成
arr = np.array([1, 2, 3, 4, 5])
print("Created array:", arr)
# 実行結果
# test
# test
# Created array: [1 2 3 4 5]

自分で作成するパッケージ

自分で作成するパッケージとは、自分で書いたコードをパッケージ化すること。※そのままの意味。
やり方は簡単でパッケージにしたいディレクトリの直下に「__init__.py」を作成するだけ!

__init__.py」自体は中身空でもいい。
自分でパッケージを作成することで
プロジェクト内で再利用可能なコードを整理することができる

パッケージを作る

上記でもやっているが

構成
.
├── main.py
└── app
├── __init__.py
└── func1.py

の場合、appはパッケージになる。

そのため

main.py
# appパッケージからfunc1モジュールをimportする
from app import func1
# モジュールの関数を実行
func1.hello()
# モジュールの変数を表示
print(func1.name)

のように書くことができる
※実際には「__init__.py」なくても
Python 3.3以降ではディレクトリをパッケージとして認識するが、「__init__.py」があることで
ディレクトリがPythonのパッケージであることが明確になるので「__init__.py」を
作ることが推奨されている

まとめ

Pythonの超基本的なことだが、使うプログラム言語やフレームワークによってモジュールとパッケージの
概念が変わったりするので、Pythonにおけるモジュールとパッケージ覚えておくために
整理してみた。

関連記事

新着記事

タグ別一覧
top