10.1 モジュール
モジュールとブロック
自分で定義した関数は他のさまざまなプログラムで使えるようにすると便利です。 これを行うには,関数を定義したスクリプトファイルを, 他のプログラムでモジュールとしてインポートします。
テキストは自分の PC に Python がインストールされた環境でプログラミングを行っていますが, われわれは Google Colaboratory を使っています。 そのため,テキストでは説明されていない,やや面倒な操作が必要になります。 List 10-1 と List 10-2 について,この操作を説明します。
新しいノートブックを開き,下図のように, List 10-1 の水色でハイライトされたコードをセルに入力してください。 赤色でハイライトされた部分は不要ですので, ひとまず List 10-1 のとおりにコードを書いて実行できたら, 消去しておきましょう。 ノートブックの名前は min_max2.ipynb とします。
このコードを,拡張子を .py としてダウンロードします。 [ファイル] メニューから,[ダウンロード],[.py をダウンロード] を選択します。 そうすると,min_max2.py というファイルがダウンロードされます。
ダウンロードされた min_max2.py を Google ドライブの Colab Notebooks フォルダにアップロードします。
第10章のプログラムのための新しいノートブックを開きます。 ノートブックの名前は chap10.ipynb とします。
Google ドライブをマウントして,Colab Notebooks フォルダにあるモジュールを使えるようにします。 左サイドバーにある「ファイル」をクリックします。
しばらくすると, 上部にいくつかのアイコンが現れます。その中から「ドライブをマウント」をクリックします。
アクセスの許可をたずねられたら,「Google ドライブに接続」をクリックします。
しばらくすると Google ドライブがマウントされ, drive というフォルダが表示されます。
ノートブックが保存されているフォルダにモジュールの検索パスを通します。 検索パスについてはテキストの p.300 で学習します。 以下のコードをノートブックのセルに入力して実行してください。
import sys
sys.path.append('/content/drive/MyDrive/Colab Notebooks/')
print(sys.path)
検索パスの最後に '/content/drive/MyDrive/Colab Notebooks/' が表示されたら成功です。
これで,Google ドライブの Colab Notebooks フォルダにあるスクリプトファイル min_max.py を, モジュールとしてインポートできるようになりました。 List 10-2 をセルに入力して実行してください。 最小値および最大値を受け取る変数名は, min と max ではなく,mini と maxi であることに注意してください。
Google ドライブのマウントは, ノートブックのセルに以下のコードを書いて実行してもできます。
from google.colab import drive
drive.mount('/content/drive')
モジュールの作成
List 10-3 は新しいノートブックを開いて書きます。 ノートブックの名前は min_max.ipynb とします。 エラーなく,意図したとおりに動作するかテストしましょう。 入力する文字列を int 関数で整数値に変換しますから, List 10-4 とは異なり,入力は整数で行ってください。
前節で説明したように,List 10-3 を min_max.py という名前でダウンロードし, Google ドライブの Colab Notebooks フォルダにアップロードします。 第10章のノートブックのセルに List 10-4 を書いて実行します。
モジュール検索パス
10.2 パッケージ
正規パッケージ
10-1節と同様に,10-2節の実習も Google Colaboratory を使います。 テキスト p.304 Fig.10-4 での,「chap10」というフォルダを, Google ドライブの Colab Notebooks フォルダに読み替えてください。 その中に pack フォルダを作成し,さらに pack フォルダの中に sub フォルダを作成します。
List 10-6 の abc.py および List10-7 の xyz.py は pack フォルダに入れます。 これらスクリプトファイルの作り方は List 10-1 の min_max2.py と同じです。 新しいノートブックを開いて abc.ipynb および xyz.ipynb という名前にします。 スクリプトを書いて .py という拡張子でダウンロードします。
List 10-8 の abc.py および List10-9 の xyz.py は sub フォルダに入れます。 先に作成したスクリプトファイルと名前が同じなので注意してください。 自分の PC のダウンロードフォルダから abc.py および xyz.py を消去してから, abc.ipynb および xyz.ipynb をノートブックで編集して,ダウンロードすればよいでしょう。