Pythonのモジュールとパッケージ【初心者向け解説記事】
Workteria(ワークテリア)では難易度の高いものから低いものまで、スキルや経験に合わせた案件を多数揃えています。会員登録は無料ですので、ぜひ会員登録してご希望の案件を探してみてください!
フリーランス/正社員のエンジニアとして活躍するには、ご自身のスキルや経験に合わせた仕事を選ぶことが大切です。ご希望の案件がみつからない場合はお気軽にお問い合わせください!ユーザ満足度の高いキャリアコンサルタントが在籍していますので、希望条件や悩み事などなんでもご相談ください。ご希望にピッタリの案件をご紹介させていただきます。
モジュールとパッケージとは?
Pythonのモジュールとパッケージは、コードの再利用性と組織性を向上させるための重要な概念です。モジュールは、関数、クラス、変数などを含むPythonファイルです。パッケージは、モジュールやサブパッケージをまとめて管理するためのディレクトリです。一度自身で作成した関数などを簡単に呼び出て使うことが出来るほか、適切に利用することで大規模なプロジェクトでもコードの管理が容易になります。
モジュールの作成と利用
モジュールの作成
まず、モジュールを作成してみましょう。my_module.py(.ipynbでも問題ありません)という名前のファイルを作成し、以下のコードを記述します。
# my_module.py
def hello_world():
print("Hello, world!")
モジュールの利用
同じディレクトリにmain.py(.ipynbでも問題ありません)を作成します。ディレクトリ構造図は以下の通りです。/p>
任意のディレクトリ/
├── my_module.py
└── main.py
作成したら、以下のようなコードをを作成します。
# main.py
import my_module
my_module.hello_world() # Hello, world!と出力される
今回は簡単なコードですが、モジュールを利用することで、複雑な関数も同様の記述で簡単に再利用することが出来ます。
モジュールの別名
長いモジュール名や何度も繰り返し使うモジュール名については、「as」で別名をつけることで名前を短くすることが出来ます。
次の例は、データサイエンス関連のコードの冒頭によく出てきます。
import pandas as pd
import numpy as np
pandas、numpyはデータ処理を行う際によく使われるモジュールです。上記の例では、それぞれpd、npと略していて、呼び出す際にはpd.dataframe()などのように使うことが出来ます。
パッケージの作成と利用
パッケージの作成
次に、パッケージを作成してみましょう。まず、my_packageというディレクトリを作成し、その中に__init__.pyという空のファイルを作成します(必ずしも空でなくても良いのですが、ここでは説明を割愛します)。この__init__.pyがあることで、my_packageディレクトリはPythonのパッケージと認識されます。
そして、そのディレクトリ内に上記で作成したmy_module.pyを移動させます。ディレクトリ構成は以下の通りになります。
任意のディレクトリ/
├── main.py
└── my_package/
├── __init__.py
└── my_module.py
パッケージの利用
このパッケージ内のモジュールを他のPythonファイルから利用するには以下のようにします。
# main.py
from my_package import my_module
my_module.hello_world() # Hello, world!と出力される
このように、モジュールとパッケージを利用することで、Pythonコードを整理し、再利用可能な形で管理することができます。
パッケージの一括インポート
以下のようなディレクトリ構造を考えます。
任意のディレクトリ/
├── main.py
└── my_package/
├── __init__.py
├── my_module1.py
└── my_module2.py
このとき、my_module1.py とmy_module2.py をインポートするには次のように書きます。
from my_package import my_module1
from my_package import my_module2
これを「import *」を使うことでまとめてパッケージ内の全てのモジュールをインポートすることが出来ます。
from my_package import my_module *
このように簡単に一括でモジュールのインポートを行うことが出来ますし、見た目もすっきりします。
まとめ
この記事では、Pythonのモジュールとパッケージの基本的な概念とその使用方法について説明しました。これらを理解することで、Pythonでのプログラミングを、より効率的、体系的に行うことが出来ます。実際にモジュールとパッケージを自分自身のプログラムにも適用し、その利点を実感してみてください。また、mathなどの標準ライブラリや、上記でも紹介したpandas、numpyなどのサードパーティのライブラリなど、どのようにモジュールとパッケージが使用されているかを見ることも役に立つでしょう。
【著者】
フォワードソフト株式会社のエンジニア。Java、Python、JavaScript、C#などの言語の他、クラウドやネットワーク技術を勉強しています。PythonやVBAを使った自動化で楽をする方法を考えるのが好きです。 最近はジェネレーティブAIの業務利用に関する検証を行っています。 資格を通じて知識を吸収することを心がけており、セキュリティスペシャリスト、データベーススペシャリスト、応用情報技術者、Oracle Certified Java Programmer Gold SE 11、Pythin3 エンジニア認定試験、HTML5プロフェッショナル認定試験レベル2、AWSプラクティショナーなどの情報資格を保有しています。
正社員/フリーランスの方でこのようなお悩みありませんか?
- 自分に合う案件を定期的に紹介してもらいたい
- 週2、リモートワークなど自由な働き方をしてみたい
- 面倒な案件探し・契約周りは任せて仕事に集中したい
そのような方はぜひ、Workteriaサイトをご利用ください!
定期的にご本人に合う高額案件を紹介
リモートワークなど自由な働き方ができる案件多数
専属エージェントが契約や請求をトータルサポート