モジュールの作成と呼び出し
11.2 モジュールの作成と呼び出し
では早速ですが、モジュールのファイルの作成と呼び出しを行っていきましょう。
11.2.1 モジュール(.py拡張子の)ファイルの作成
今までJupyter Notebookを介して作成してきたファイルは、JupyterNotebook専用で利用できる拡張子が「.jpynb」のファイルでした。
しかしモジュールを作成し他ファイル間で参照し合うためには、モジュール用の拡張子(.py)のファイルを作成しなければなりません。
ここではJupyterNotebookを介して、「.jpynb」が拡張子のファイルから、「.py」が拡張子のモジュールファイルへ変換する方法について確認していきましょう。
ファイルを開く
まず対象のソースコードが含まれたファイル(MakeModule.ipynb)を開きます。ファイルの保存場所は、「Python基礎講座 > chapter11// > MakeModule.ipynb」になります。
ソースコードソース・フォルダー: /Desktop/Python基礎講座/chapter11/
ファイル名: MakeModule.ipynb
アクセスURL: http://localhost:8888/notebooks/Desktop/Python基礎講座/chapter11/MakeModule.ipynb
■①フォルダの選択
図 11.2.1 : フォルダの選択
■②ファイルの選択
図 11.2.2 : ファイルの選択
モジュールファイル(.py)に変換
「MakeModule.ipynb」を開いたら、こちらのファイルの拡張子を「.ipynb」から「.py」に変換したファイル(MakeModule.py)を生成します。
■①モジュールファイル(.py)への変換とダウンロード
ファイルの生成は、左上の「File」を選択し、「Download as」の「Python(.py)」を選択してください。
図 11.2.3 : .pyファイルのダウンロード
■②モジュールファイルのアップロード
ダウンロードフォルダを確認すると「MakeModule.py」が保存されております。続いて「MakeModule.py」を対象のフォルダ(/Desktop/Python基礎講座/chapter11/)へ保存します。
JupyterNotebookで「/Desktop/Python基礎講座/chapter11/」フォルダを開いたら、右上の「Upload」ボタンをクリックし、ダウンロードフォルダから「MakeModule.py」を選択してください。
図 11.2.4:モジュールファイルのアップロード
■③モジュールファイルの追加の確認
ファイルの追加が確認できたら、無事アップロードができたということになります。
図 11.2.5:モジュールファイルのアップロードの確認
11.2.2 同一フォルダ内のモジュールファイルの呼び出し
モジュールファイルへの変換方法について学んだところで、では作成したモジュールファイルを呼び出すにはどうすれば良いのでしょうか?
同じ「chapter11//」フォルダの中のファイル間での呼び出しを想定しておりますので、同一フォルダ内のモジュールファイルの呼び出し方法から確認していきましょう。
書式:同一フォルダ内からのモジュールの呼び出し
「Python入門」の復習になりますが、import文を使ってモジュールを呼び出すことができました。拡張子の(.py)を省略した状態でファイル名を指定するので、気を付けてください。
書式:「MakeModule.py」の呼び出し
11.2.3 モジュールファイルの呼び出しのプログラム
モジュールファイルの呼び出し方法が確認できたところで「chapter11//」フォルダから「callModule.ipynb」を開き、「MakeModule.py」を呼び出すプログラムを実行します。
【呼び出し先のファイル】
ソース・フォルダー: /Desktop/Python基礎講座/chapter11/
ファイル名: MakeModule.py
アクセスURL: http://localhost:8888/notebooks/Desktop/Python基礎講座/chapter11/MakeModule.py
#!/usr/bin/env python # coding: utf-8 # In[ ]: def sample1(): print('sample1') def sample2(): print('sample2') hensu = 'test'
【実行ファイル】
ソースコードソース・フォルダー: /Desktop/Python基礎講座/chapter11/
ファイル名: callModule.ipynb
アクセスURL: http://localhost:8888/notebooks/Desktop/Python基礎講座/chapter11/callModule.ipynb
import MakeModule as mm mm.sample1() mm.sample2() print(mm.hensu)
実行結果
sample1 sample2 test
解説
1行目でMakeModuleの呼び出しを行っております。
import MakeModule as mm
略称として「as mm」と指定しているため、以下の文ではこちらのモジュールを「mm」で呼び出すことができます。
3~5行目で「MakeModule.py」に含まれている、sample1()関数、sample2()関数、hensu変数を呼び出しているため上記のような実行結果になります。
mm.sample1() mm.sample2() print(mm.hensu)
図 11.2.6 : モジュールの呼び出し