第2回 プログラミングの準備:PythonとGoogle Colaboratoryの使い方
この授業では、PCにインストールせずにPythonプログラムを実行できるプログラミング環境「Google Colaboratory」を利用する(長くて呼びにくいので、以後「Colab(コラボ)」と呼ぶ)。
この回の内容
Colabの使い方
Colabはクラウドサーバ上で実行されるPython実行環境であり、PCへのインストールが不要なので、言語の学習には最適である。以後この科目の最後まで、全カリキュラムで使うので、今回はその基本的な使い方を学ぼう。Colabを使うのに必要なのはこれだけだ。
- PC
- 教室ならWindowsだし、自宅からならMacでもよい
- Google Chromeブラウザ
- これは必須。他のブラウザでは動作しない
- Googleアカウント
- Gmailを利用している人はすでに持っているはず
JupyterノートブックはColab専用のフォーマットではなく、Jupyter Labや、PCにインストールするJupyter Lab Desktopなどのアプリでも実行できる。
Googleアカウントでログインする
ColabへはGoogle Chromeブラウザでアクセスしなければならない。教室PCにはインストール済なので問題ないが、オンデマンド回の授業(最大7回ある)を自宅から受けるのに必要なので、インストールしておこう。他のブラウザからは利用できない。
最初にこのリンクからGoogleにログインする。Gmailを使っている人は、同じアカウントが使える。
Googleアカウント
https://accounts.google.com/
すると図2-1のログイン画面が表示されるので、Googleアカウントでログインする。この画面からアカウントを作成することもできる。

Colabにアクセスする
つぎにこのリンクから、Colabのページにアクセスする。
Google Colabolatory
https://colab.research.google.com/
ログインしていれば、黄色いダイアログが表示されるはずだ。

「ノートブックを新規作成」をクリックすると、「Untitled0.ipynb」の名前で新しいJupyterノートブックが作成され、ブラウザの新規タブで開かれる(図2-3)。
Colabに関連するファイル、たとえばこれから作るノートブックなどは、Googleドライブの「マイドライブ/Colab Notebooks」フォルダ以下に作成される※1。

1 正式はフルパスは「/content/drive/MyDrive/Colab Notebooks」である。繰り返しになるが、すべてのファイルはローカルPC上ではなくGoogleドライブというクラウドストレージ上に保存されている。ここのフォルダ階層を管理するのは各自の役目だから、左端の「フォルダ」でファイルの場所を時々確かめる習慣をつけよう。フォルダ階層をあまり複雑にすると、自分でも迷子になるからお奨めしない。また、Googleドライブをマウントすることを要求されることもある。
Pythonコードを実行してみる
すでにプログラミングの準備はできている。画面に表示されている横長の領域は「コードセル」といい、ここにPythonのプログラムを書く。手始めに単純な数式を入力してみよう(リスト2-1)。

セルの左端にある▶をクリックすると、数式が評価され、結果がセルの下(出力アクション)に表示される(リスト2-2)。初回はColabのサーバ(バックエンド)との通信を確立するために、ちょっと待たされるかもしれない※2。
2 反応が遅いからといって、同じ操作を何度もやるのはICTでは絶対禁止。 エレベータに乗り遅れそうなオジサンじゃないし

演習:いろいろな数式を入力してみよう
1行の数式だけではなく、リスト2-3のように複数の数式も入力できる。でも出力アクションに表示されるのは最後の式の計算結果だけだ。それじゃ不便だと思うだろうが、上から順に複数行のプログラムを実行してゆくのが、Python処理系の基本動作である。次回以降に、計算結果を格納する「変数」や、特定の計算を実行する「関数」、そして実行の流れを制御する構文を学ぶと、俄然プログラムらしくなるだろう。

プログラムは複数セルをまたいでも書ける。まだ変数について学んでいないので、前のセルから後のセルに情報を渡せないが、プログラムを実行する「Ctrl+Enter」のかわりに「Shift+Enter」を使えば、実行するとともに次のコードセルを用意してくれる※3(リスト2-4)。
3 Jupyterノートブックの左上に表示される「+ コード」をクリックしても同じ。

4通りのセル実行方法を整理しておこう。
- セルを実行
- セル左端の▶ボタン、または「Ctrl+Enter」
- セルを実行して次のセルを追加
- +コード、または「Shift+Enter」
4 「コードセル」「テキストセル」を駆使すれば、このWeb講義資料自体もすべてJupyterノートブック形式で記述できる。だがそれだと、履修者のみなさんは手でプログラムを入力するかわりに、セルをチュルチュルと実行してだけで学習した気になるかもしれないから(そして知識は右から左の耳へチュルチュルと抜けていく)、あえてその誘惑は退けた。プログラムは自分の手を動かしてこそ身につくからだ。
ノートブックを保存
ある程度学習が進んだら(たとえば授業の終わりに)、ノートブックにファイル名をつけて保存しよう。左上のタイトル部分をクリックするとファイル名が変更できる(図2-4)。でも拡張子「.ipynb」を変更しないこと。ファイルが「Jupyterノートブック」と認識されなくなってしまう。
保存したノートブックは、やはり「マイドライブ/Colab Notebooks」フォルダ以下にあるから、次回Colabにログインして使える。セルの実行結果(出力アクション)も保存されている。

以上、Colabの基本的な使い方を説明した。今回は数式を計算させて結果を求めただけなので、あまり「プログラム」っぽくないが、次回以降でPythonの文法を習得してゆくと、実はどんなプログラムも、この数式の評価の延長線上にあるとわかる。
Googleドライブのマウント
ファイル名を変更してノートブックを保存したはずなのに、左側の「フォルダ」アイコンで表示されない。そもそも「マイドライブ/Colab Notebooks」フォルダってどこにあるの? と訊かれることが多い。実は、Googleドライブを覗くには、ローカルPCにはない「マウント」操作が必要である(この辺りがクラウド環境の面倒くささ)。
手順は以下の通りである。まず、「フォルダ」アイコン(図2-5では赤く表示されている)をクリックして、エクスプローラに似たファイル階層を表示する。この時点ではまだ「sample_data」フォルダしか表示されていない。
そこで、赤丸で囲んだ「Googleドライブのマウント」アイコンをクリックする。

図2-6のようなダイアログが表示されるので、「Googleドライブに接続」を選ぶ。

しばらく待つと、図2-7のように「drive」フォルダが現れ、「MyDrive/Colab Notebooks」フォルダはその階層下にある。さきほど保存されたノートブックもここにあるので確かめること。
また、この授業で作るすべてのノートブックや関連ファイル(テキスト・画像・音声など)は、この「MyDrive/Colab Notebooks」フォルダだけに置くことを強く奨める。

このマウント操作はプログラムでも実行できるが、その方法は外部ファイルを読み書きするプログラムを学ぶ際に、「カレントワーキングディレクトリ(CWD)」の移動と一緒に解説する(第6回の「オマジナイ」参照)。
ファイルのアップロード
ローカルPCからGoogleドライブにファイルをアップロードするには、マウント後、「MyDrive/Colab Notebook」フォルダを開いておき、ローカルPCのエクスプローラからファイル(のアイコン)を ドラッグすると、図2-8のようなメッセージが表示されるので、点線枠内にドロップすればよい。間違って別の場所に落ちたときは、そこから正しいフォルダにドラッグ&ドロップし直す。

教科書について
この授業では、Web講義資料(つまりこれ)と、(オンデマンド型)ビデオ教材で解説してゆくので、教科書は要らないと思うかもしれない。
しかし、プログラミングを学んだり、自分でプログラムを書く時には、よい参考書を手元に置いて、いつも参照するのがよい。俗に「座右の書」という。私自身も、できるだけ分かりやすく、ていねいな解説を心がけているが、1つのプログラミング言語を隅々まで説明するには、やはり1冊分のボリュームが必要なのだ。
プログラミングには、わからないことが2種類ある。考えればわかることと、考えてもむだなことだ。言語の文法やモジュール(ライブラリ)の仕様は、どこかの誰かが決めたことにすぎないから、後者の典型である。「考えるな、読むんだ!※5」
5 別バージョンに「感じるな、考えるんだ!」がある。
この授業では、図2-5に示す以下の1冊を「教科書」に指定する。
情報演習33 ステップ30 Python[基礎編]ワークブック カットシステム
ISBN978-4-87783-837-9
書名にあるように、4ページから6ページ程度の短い30の「Step」で、Python言語の文法と機能を一通り解説しているので、将来に渡ってリファレンス本として使える。本体1,000円以下と安いので、ぜひ入手して、授業を受ける際に活用してほしい。

テキストの構成
このテキストの目次を以下に示す(付録A~Cは省略)。
Step | 内容 | Step | 内容 |
---|---|---|---|
Step 01 Step 02 Step 03 Step 04 Step 05 Step 06 Step 07 Step 08 Step 09 Step 10 Step 11 Step 12 Step 13 Step 14 Step 15 |
Pythonとは 四則演算 変数 組み込み型 文字列① 組み込み型 文字列② 組み込み型 リスト① 組み込み型 リスト② 組み込み型 タプル 組み込み型 辞書 組み込み型 集合 組み込み型 まとめ 条件分岐 if文① 条件分岐 if文② 繰り返し for文① 繰り返し for文② |
Step 16 Step 17 Step 18 Step 19 Step 20 Step 21 Step 22 Step 23 Step 24 Step 25 Step 26 Step 27 Step 28 Step 29 Step 30 |
繰り返し while文 関数① 関数② 関数③ クラス① クラス② クラス③ モジュール パッケージ 入出力 例外 ライブラリ 迷路アプリケーション① 迷路アプリケーション② 迷路アプリケーション③ |
赤字で示した18Stepsをこの授業で扱うので、その回の文法を確認するのに役立つし、ちょっと進んだ内容を独習するのもよい(クラスなど)。意欲が湧いた人は、Step28~30の「迷路アプリケーション」に挑戦するのもよい。
【参考】PCへのPythonのインストール
Colabは手軽に使えて、Pythonの学習にはたいへん便利だけど、クラウド上で動作するので、プログラムもデータもGoogleドライブ上に保存される。つまり自分のPCで実行できない。
また、これが重要だが、Pythonで開発できるすべてのプログラムがColabで作れるわけではなく、一定の制約がある※6。簡単なサンプルプログラムで学習しているうちはいいが、少し本格的なプログラム(実用ツールやゲームとか)を作ろうとすると、しだいにこれらの制限が邪魔になってくる。
6 たとえば、コマンドライン引数としてプログラムの「外」からデータを受け渡せない、GUIが利用できないなど。
そこでこの単元では、各自のPCにPython環境を構築する方法を説明する。いくつかの方法があるが、ここではAnacondaディストリビューションという統合開発環境を使う。【参考】としたように、授業範囲外なので、基本的に自己責任で行うこと。ここに書き切れない事柄は、Web上の情報を検索して補ってほしい。困った時にネットを調べて解決するのは、プログラミングスキルの重要な部分だ。
PC上のPython実行環境
ColabはすべてChromeブラウザ上で動作するので、他のプログラムを必要としないが、PC上でPythonプログラムを開発し、実行するには、以下の3つのツールを使わなくてはならない※7。
- Python処理系
- Anacondaディストリビューションを使って、周辺のライブラリ(モジュール)と一緒にインストールする
- テキストエディタ
- 特に指定しないが、教室と同じ秀丸エディタが便利。シェアウェア(4000円)だが無料で期限なく試用できる。Macではテキストエディットを使うとよい
- コマンドプロンプト
- Windowsアイコンの右クリックメニュー項目にコマンドプロンプトが表示される場合は、それを起動する。表示されない場合はWindowsアイコンを右クリックしし、「ファイル名を指定して実行」に「cmd」と入力する。Macではターミナルを使う
7 この手順は言葉で説明しがたいので、「授業フォルダ」のビデオ教材「プログラム環境構築ガイド(約25分)」を参考にしてほしい