Pythonでモジュールを作成
この記事では、Pythonでモジュールを作成し、それを他のPythonスクリプトからインポートして再利用する方法を説明します。__init__.pyファイルの使い方や、パッケージの作成についても触れます。
目次
モジュールとは?
Pythonのモジュールとは、Pythonコードの再利用可能な単位です。関数の集合、クラスの定義、変数などをまとめたファイル(通常は.py拡張子)です。モジュールを使うことで、コードの整理、再利用性、保守性の向上を実現できます。
モジュールを作成する
モジュールを作成するには、Pythonコードを.pyファイルとして保存します。例えば、my_module.pyというファイルを作成し、以下のようなコードを記述します。
def my_function(x):
return x * 2
my_variable = 10
このファイルが、my_moduleという名前のモジュールになります。
__init__.pyファイル
__init__.pyファイルは、ディレクトリをPythonパッケージとして扱うための特別なファイルです。このファイルが存在することで、そのディレクトリ内の.pyファイルがモジュールとして認識されます。空のファイルでも構いません。
モジュールをインポートする
作成したモジュールを他のPythonスクリプトからインポートして使用します。
import my_module
result = my_module.my_function(5)
print(result) # 出力: 10
print(my_module.my_variable) # 出力: 10
from~import構文を使うと、特定の関数や変数を直接インポートすることもできます。
from my_module import my_function, my_variable
result = my_function(5)
print(result) # 出力: 10
print(my_variable) # 出力: 10
パッケージの作成
複数のモジュールをまとめてパッケージとして管理できます。パッケージは、__init__.pyファイルを含むディレクトリです。
from mypackage import module1, module2
# module1とmodule2の関数をそれぞれ呼び出す
ベストプラクティス
- モジュール名は短く、分かりやすい名前にする
- 各モジュールは、特定の機能に特化させる
- コメントを適切に記述する
- テストコードを作成する
- バージョン管理システムを利用する
関連記事
- Pythonで関数を別モジュールからインポート(import文)
- Pythonでパッケージを作成
- Pythonでモジュールをインポート(import, from import)
- Pythonでモジュール検索パスを設定
- Pythonでパッケージを配布
- Pythonで名前空間パッケージを使う (Python 3.3以降)
- Pythonでpyproject.tomlを使う(Python 3.11以降推奨)
- Pythonで関数のドキュメントを書く(docstring)
- Pythonで静的メソッド・クラスメソッドを使う(@staticmethod, @classmethod)
- Pythonで特殊メソッドを使う(__str__, __repr__, __add__ など)