Pythonのモジュールとは。モジュールの基本と使い方
- 公開日:2018/11/28
- 更新日:2018/12/02
- 投稿者:n bit
Pythonには機能を追加するためのモジュール(module)があります。今回はそのモジュールの基本的な解説と様々なインポート方法、独自モジュールの作成方法などの使い方に関する解説が中心です。
この記事は約 分で読めます。(文字)
Pythonのモジュール(module)とは
Pythonのモジュール(module)とは新たな機能追加するためのもので関数やクラスなどを1つのファイルにまとめたものです。関数やクラスも様々な機能をひとかたまりにまとめることができましたが、それらをもっと大きな単位で機能をまとめることができます。
独自モジュールの作成方法
実際にモジュールを作成してインポートしてみたほうが分かりやすいと思いますので簡単に独自のモジュールを作成してみましょう。
新規のファイルを作成し独自の関数などを記述して保存するだけでモジュールの作成は完了です。試しに下記のコードを記述してしてみてください。ファイルは任意のディレクトリに『test_mod.py』と言うファイル名で保存します。
def add_square2(a, b):
return (a + b) ** 2
def add_square5(a, b):
return (a + b) ** 5
モジュール内に記述したコードの説明ですが、『add_square2』は引数で受け取った数字を足し合わせて2乗する関数、『add_square5』は引数で受け取った数字を足しに合わせて5乗する簡単な関数です。
モジュールのインポートと実行方法
モジュールを利用するためには実行ファイルにインポートする必要があります。インポート方法がいくつかありますのでそれを紹介しましょう。
モジュール単位でインポートして実行する方法
まず1番ベーシックな方法はモジュール単位でのインポートです。実行ファイルの1行目に次のように記述してモジュール単位でインポートします。
import test_mod
先程保存したファイル名(モジュールのファイル名から『.py』を除いたもの)がそのままインポートするときのモジュール名となります。
- import モジュール名(モジュールのファイル名から『.py』を除いたもの)
モジュール内の関数を実行するにはモジュール名の後ろにピリオド『.』を挟み関数名を入力して呼び出します。関数の実行方法は通常の関数と同じで関数名の後に括弧つけて引数を渡します。
print(test_mod.add_square2(1, 2))
print(test_mod.add_square5(1, 2))
これらのコードを『main.py』と言うファイルに記述し『test_mod.py』と同じディレクトリに保存してください。保存後cdコマンドを使って保存先のディレクトリへ移動し『main.py』を実行します。
main.py内のコード
import test_mod
def main():
print(test_mod.add_square2(1, 2))
print(test_mod.add_square5(1, 2))
if __name__ == "__main__":
main()
3、7、8行目のコード
def main():
・
・
if __name__ == "__main__":
main()
は、まだ解説していませんがとりあえずPythonファイルを直接実行するときの決まり事だと覚えておいてください。この記述によって『main.py』を実行したときは自動的にmain関数が実行されるようになっています。
実行用コード
$ cd 保存先ディレクトリ
$ python main.py
出力結果
9
243
別名でインポートして実行する方法
インポートするモジュール名を別名でインポートする方法です。モジュール名が長い時などに簡略化することができます。実行ファイルの1行目に次のように記述してモジュールをインポートしてください。
import test_mod as t_m
『as』の後に半角スペースを空けて任意の別名を記述します。
- import モジュール名 as 任意の別名
モジュール内の関数を実行するには任意の別名の後ろにピリオド『.』を挟み関数名を入力して呼び出します。
print(t_m.add_square2(1, 2))
print(t_m.add_square5(1, 2))
これらのコードを『main.py』と言うファイルに記述し『test_mod.py』と同じディレクトリに保存してください。保存後cdコマンドを使って保存先のディレクトリへ移動し『main.py』を実行します。
main.py内のコード
import test_mod as t_m
def main():
print(t_m.add_square2(1, 2))
print(t_m.add_square5(1, 2))
if __name__ == "__main__":
main()
実行用コード
$ cd 保存先ディレクトリ
$ python main.py
出力結果
9
243
関数やクラス単位でインポートして実行する方法
先ほどまではモジュール単位でインポートしましたが特定の関数のみインポートすることも可能です。またすべての関数をインポートしておくことで関数名のみ記述して実行させることができます。
実行ファイルの1行目に次のように記述してモジュール内の関数をインポートしてください。
from test_mod import add_square2
複数の関数を同時にインポートする場合は下記のように『,』でつなげて記述します。
from test_mod import add_square2, add_square5
- from モジュール名 import モジュール内の関数名
関数を実行するには直接関数名を入力して呼び出します。
print(add_square2(1, 2))
print(add_square5(1, 2))
これらのコードを『main.py』と言うファイルに記述し『test_mod.py』と同じディレクトリに保存してください。保存後cdコマンドを使って保存先のディレクトリへ移動し『main.py』を実行します。
main.py内のコード
from test_mod import add_square2, add_square5
def main():
print(add_square2(1, 2))
print(add_square5(1, 2))
if __name__ == "__main__":
main()
実行用コード
$ cd 保存先ディレクトリ
$ python main.py
出力結果
9
243
関数やクラスを一括でインポートして実行する方法
通常の完成コードで推奨される記述方法ではありませんがテスト時などに複数の関数を一括して読み込む簡単な記述方法があります。
実行ファイルの1行目に次のように記述してモジュール内の関数をインポートしてください。
from test_mod import *
アスタリスク『*』がすべての関数を表しています。関数の実行は直接関数名を入力するだけで可能です。
print(add_square2(1, 2))
print(add_square5(1, 2))
これらのコードを『main.py』と言うファイルに記述し『test_mod.py』と同じディレクトリに保存してください。保存後cdコマンドを使って保存先のディレクトリへ移動し『main.py』を実行します。
main.py内のコード
from test_mod import *
def main():
print(add_square2(1, 2))
print(add_square5(1, 2))
if __name__ == "__main__":
main()
実行用コード
$ cd 保存先ディレクトリ
$ python main.py
出力結果
9
243
その他のモジュール
モジュールと呼ばれるものにはいくつかの種類があります。基本的にはファイルでできており先ほど作成した独自モジュールと同じようなもので、作られ方や組み込まれかたによって呼び方が違うだけです。
組み込みモジュール
名前からも想像できる通りPythonに標準で組み込まれているモジュールのことを『組み込みモジュール』と呼びます。
拡張モジュール
処理速度を上げるためなどの目的でPython以外の言語を使って記述されたPython用モジュールの事を『拡張モジュール』と呼びます。
今日のdot
独自のモジュールを利用することでPythonのコードを整理し管理しやすくできます。また、組み込みモジュールや拡張モジュールを利用することで高機能な実行処理の実現も簡単に。積極的にモジュールも利用していきましょう。
【フリーランス向けの完全無料Pythonプログラミング講座】
dot blogではこの記事以外にも完全無料でフリーランス向けのPythonプログラミング講座を公開中です。フリーランスとして活躍し稼ぐための強力な武器となりますよ。
Python入門講座【無料のプログラミング学習講座】
最近特に注目度が高くなってきているプログラミング言語Python。転職、フリーランス、独立・起業を検討中、日々の業務が忙しい社会人等は今こそ身に付けておきたいスキルの1つ。初心者向けにやさしいプログラミング学習内容のPython入門講座を無料で公開。