Pythonにおけるモジュールの活用|【Python・R・エクセル統計学・統計解析】
Pythonにおけるモジュールの活用
Pythonには標準ライブラリと呼ばれるものが搭載されています。
標準ライブラリを使うことでPythonの機能を大幅に拡張することができます。
テキスト処理やネットワーク処理、数値計算など、便利で強力な機能を備えたライブラリがたくさん用意されています。
Webアプリケーションなどを作るときに利用する処理の多くが、標準ライブラリにすでに入っています。
Pythonを使えば、基本的な処理を実行する関数をゼロから作る必要はありません。
また、インターネットを探し回ってライブラリをインストールする必要もないのです。
Pythonをインストールするだけでこのような機能が利用できるため、Pythonはバッテリ附属(Battery Included)言語と呼ばれることもあります。
モジュールのインポート
モジュールを利用して、Pythonの機能を拡張するにはimport文を使ってモジュールをインポートします。
インポートには2つの種類があります。
モジュール名を指定してモジュールをインポートする方法と、from文を使ってモジュールの一部をインポートする方法があります。
モジュールインポートの例
import re
from urllib import urlopen
モジュールのインポートは、プログラムのほとんどすべての場所で実行できます。
関数やif文などのブロックでもモジュールのインポートを実行できます。
インポートしたモジュールは、変数や関数と同じようにオブジェクトとして扱われます。
変数や関数と同様に、モジュールを利用する前にインポートしておく必要があります。
また、関数内部のように、特別な名前空間を持っている場所でインポートしたモジュールは、その名前空間の内部でしか利用できません。
モジュールの作成
Pythonのようなプログラミング言語を使うとき、プログラムを事前にファイルに書いておくことがあります。
プログラムを書いたファイルを指定してPythonを実行することで、何度もプログラムを実行できます。
プログラムを書いたファイルをスクリプトファイルと呼ぶことがあります。
Pythonではスクリプトファイルがモジュールとして扱われます。
モジュールを作って関数などを利用したいときには、スクリプトファイルを作ればよいのです。
スクリプトファイルのファイル名がそのままモジュール名になります。
たとえば、a_module.pyというファイルにsome_func()という関数を定義したとします。
外部からは、以下のように利用できます。
import a_module #モジュールをインポートする場合
a_module.some_func ()
from a_module import some_func #関数だけをインポートする場合
some_func ()
モジュールをインポートすると、Pythonはスクリプトファイルを先頭から読み込んで書かれているプログラムを実行します。
スクリプトファイルを読み込む過程で、定義されている関数などをモジュールの「持ち物」として登録します。
関数だけでなく、変数などもモジュールの持ち物として登録されます。
インデントの一番浅いところをトップレベルのブロックと呼びます。
トップレベルのブロックに記述されているプログラムは、モジュールをインポートする過程で必ず実行されます。
モジュールの初期化用のコードは、トップレベルに記述します。
関連記事