【Pythonを使い倒す】共通の処理を外部化したり、外部のライブラリを使用できるモジュールとは?

エラーを起こさないために理解しておきたいローカル変数とグローバル変数について解説をしました。今回はモジュールを解説します。

モジュールにて関数の呼び出し

他のPythonのプログラムを、モジュールという形で導入することができます。

以下の例では、importの記述により、Python標準のrandom.pyというファイルを読み込んでいます。
読み込まれるファイルのことをモジュールといいます。
モジュールから関数を呼び出すことができます。

モジュールにて関数の呼び出し
import random

print(random.random()) # ramdomモジュールのrandom()関数を呼び出して、0.0-1.0の乱数を得る
実行結果

0.023001531887416604

こちらの例のコードではランダムというモジュールをimportしています。
そしてこのランダムモジュールが持っているランダム関数を呼び出して0.0から1.0までの乱数を得ています。
その値をプリントします。
実行すると実行するたびに違う乱数を得ることができます。

外部Pythohファイルからモジュールを読み込む

また、自作のモジュールを読み込むことができます
以下の例では、自作の fruit_store.py をモジュールとして読み込み、関数を呼び出しています

外部Pythohファイルからモジュールを読み込む
import fruit_store

print(fruit_store.getApple()
実行結果

Apple

それでは fruit_store.py を見てみましょう。

外部ファイルfruit_store.py
def getApple():
    return "Apple"
拡張子が.pyだとPythonのファイルになります。
こちらのファイルにはgetApple()という名前の関数が書かれています。
この関数は”Apple”という文字列を配列として返すだけのシンプルな関数です。

このファイルをモジュールとしてimportしてこの関数を呼び出してみましょう。
同じ階層にあるPythonのファイルをモジュールとして読み込むためにはimportの後にファイル名を書きます。
そしてこのモジュール名を使って関数getApple()を呼び出します。

実行すると上記のような実行結果”Apple”と表示されました。
別のファイルをモジュールとしてimportし、その中の関数を呼び出すことができました。

asを使ってモジュールをリネーム

また、asを使ってモジュールに別の名前をつけることができます。

ローカル変数とグローバル変数の例
import fruit_store as fs

print(fs.getApple())
実行結果

Apple

こちらの例ではimport fruit_storeと書いてその後にas fsと書いてあります。

そしてこのfsを使ってとgetApple()メソッドを呼び出しています。
実行すると先ほどと同じように”Apple”と表示されました。
asを使うと長いモジュール名でも短い名前で扱うことができますのでコードが全体的にすっきりします。

fromを使って、特定の関数のみをインポート

fromを使って、特定の関数のみをインポートすることができます。
これにより、関数名のみでその関数を呼び出すことができます。

fromを使って、特定の関数のみをインポート
from fruit_store import getApple

print(getApple())
実行結果

Apple

こちらの例のコードではfrom fruit_storeと書いてとgetAppleをimportしています。
モジュールfruit_storeから関数getApple()のみをimportしています。
そうするとgetApple()という記述のみで関数getApple()を呼び出すことができます。

実行すると”Apple”と表示されました以上のようなモジュールを利用することで数々の有用なライブラリを自分のコードに取り込むことができます。

今回はモジュールを解説しました。
共通の処理を外部化したり外部のライブラリを使う時にモジュールを使いますので概要を押さえておきましょう。