モジュール(module)とは?
複数ファイルにプログラムを分ける際に使える機能です。
1つのファイルを1つのモジュールとして使えて、別ファイルで定義されている関数を呼び出すことができます。
構文
モジュールを取り込む
1 2 |
import (モジュール名) import (モジュール名) as 別名 |
コード内で短く書けるようにモジュール名の略称を別名で記述することが多いです。
取り込んだモジュールを使う。(クラス、関数、変数の呼び出し方)
1 2 3 |
モジュール名.クラス名 モジュール名.関数名() モジュール名.変数名 |
モジュールの階層が深いとき
以下のように階層の記述だけはしてしまうのがベターです。(ソース内に階層が至る所に記述してあると読みづらいですしね。)
1 2 |
from xxx.yyy import zzz zzz.関数名() |
importしなくても使える組み込み関数
Pythonでは、「print()」や、「str()」等、importしなくても使うことができた関数があったかと思います。
そうした関数を「組み込み関数」と呼びます。
標準モジュール
また、モジュールはいちいち自作しなくても、最初からいくつかの「標準モジュール」という形でモジュールが提供されています。
下記のPythonドキュメントにて、Pythonの標準モジュールを検索することができます。
https://docs.python.jp/3/py-modindex.html
様々なモジュール
モジュール名 | 説明 |
---|---|
re | 正規表現を扱える。 |
random | 乱数を生成できる。 |
datetime | 日時処理関するモジュール |
json | JSON形式のデータを読み取る。 |
自作モジュール
モジュールを自作する場合は必須の概念になります。
test2.py(今回作成したいモジュール)
1 2 3 4 5 6 |
def func2(): print("func2です。") def func3(): print("func3です。") func3() |
これを普通に呼び出すと関数func3だけが実行されます。
test.py(モジュールを呼び出す側)
1 2 3 4 5 |
# これを呼び出すとtest2モジュールの内容が全て実行される。 import test2 test2.func2() |
これを実行すると実行結果は、以下のようになります。

理由としてはモジュールをインポートしたタイミングでモジュールの内容がすべて実行される仕様になっているためです。
なので作成したモジュール側は以下のようにしてあげる必要があります。
1 2 3 4 5 6 7 8 9 10 11 |
def func2(): print("func2です。") def func3(): print("func3です。") if __name__ == "__main__": func3() |
こうすることで他のPythonファイルからこのファイルをインポートしたときにif文の外のコードが自動で実行されてしまうことを防止することができます。
パッケージとは?
Pythonで、複数のモジュールを組み合わせたものを、パッケージと呼びます。モジュール(ファイル)をまとめたフォルダのようなイメージ(というか実態)です。
PyPI
Pythonのパッケージが多数登録されているパッケージリポジトリです。
下記のサイトで、PyPIにどんなパッケージがあるか検索することができます。
パッケージ管理ツール「pip(ピップまたは、パイプと読みます。)」
「PyPI」に登録されているパッケージは、パッケージ管理ツールの「pip」を使うことで、手軽に使うことができます。
なお、Pythonのバージョン3.4以上であればインストーラーにデフォルトで入っています。
pipでパッケージをインストールする。
1 |
pip install (パッケージ名) |
様々なパッケージ
パッケージ名 | 説明 |
---|---|
qrcode | QRコードを生成する。 |
pycrypto | 暗号化ライブラリ |
ライブラリ
複数のパッケージをひとまとめにした物のことです。
この記事へのコメントはありません。