第10章 モジュールとパッケージ

専修大学人間科学部 情報処理心理学実習1 で使用している教科書 『新・明解Python入門 第2版』 の補足説明を行います.

10.1 モジュール

モジュールとブロック

自分で定義した関数は他のさまざまなプログラムで使えるようにすると便利です。 これを行うには,関数を定義したスクリプトファイルを, 他のプログラムでモジュールとしてインポートします。

テキストは自分の PC に Python がインストールされた環境でプログラミングを行っていますが, われわれは Google Colaboratory を使っています。 そのため,テキストでは説明されていない,やや面倒な操作が必要になります。 List 10-1 と List 10-2 について,この操作を説明します。

新しいノートブックを開き,下図のように, List 10-1 の水色でハイライトされたコードをセルに入力してください。 赤色でハイライトされた部分は不要ですので, ひとまず List 10-1 のとおりにコードを書いて実行できたら, 消去しておきましょう。 ノートブックの名前は min_max2.ipynb とします。

List 10-1 をセルで作成

このコードを,拡張子を .py としてダウンロードします。 [ファイル] メニューから,[ダウンロード],[.py をダウンロード] を選択します。 そうすると,min_max2.py というファイルがダウンロードされます。

min_max2.py をダウンロード

ダウンロードされた min_max2.py を Google ドライブの Colab Notebooks フォルダにアップロードします。

min_max2.py をアップロード

第10章のプログラムのための新しいノートブックを開きます。 ノートブックの名前は chap10.ipynb とします。

Google ドライブをマウントして,Colab Notebooks フォルダにあるモジュールを使えるようにします。 左サイドバーにある「ファイル」をクリックします。

サイドバーの「ファイル」

しばらくすると, 上部にいくつかのアイコンが現れます。その中から「ドライブをマウント」をクリックします。

ドライブをマウント

アクセスの許可をたずねられたら,「Google ドライブに接続」をクリックします。

Google ドライブに接続

しばらくすると Google ドライブがマウントされ, drive というフォルダが表示されます。

Google ドライブフォルダ

ノートブックが保存されているフォルダにモジュールの検索パスを通します。 検索パスについてはテキストの p.300 で学習します。 以下のコードをノートブックのセルに入力して実行してください。


import sys
sys.path.append('/content/drive/MyDrive/Colab Notebooks/')
print(sys.path)

検索パスの最後に '/content/drive/MyDrive/Colab Notebooks/' が表示されたら成功です。

Google ドライブフォルダ

これで,Google ドライブの Colab Notebooks フォルダにあるスクリプトファイル min_max.py を, モジュールとしてインポートできるようになりました。 List 10-2 をセルに入力して実行してください。 最小値および最大値を受け取る変数名は, min と max ではなく,mini と maxi であることに注意してください。

List 10-2 を実行

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 をノートブックで編集して,ダウンロードすればよいでしょう。