第2回 プログラミングの準備:PythonとGoogle Colaboratoryの使い方

この授業では、PCにインストールせずにPythonプログラムを実行できるプログラミング環境「Google Colaboratory」を利用する(長くて呼びにくいので、以後「Colab(コラボ)」と呼ぶ)。

この回の内容

Colabの使い方

Colabはクラウドサーバ上で実行されるPython実行環境であり、PCへのインストールが不要なので、言語の学習には最適である。以後この科目の最後まで、全カリキュラムで使うので、今回はその基本的な使い方を学ぼう。Colabを使うのに必要なのはこれだけだ。

PC
教室ならWindowsだし、自宅からならMacでもよい
Google Chromeブラウザ
これは必須。他のブラウザでは動作しない
Googleアカウント
Gmailを利用している人はすでに持っているはず
Colab上でプログラムを書くと、その結果はJupyter Notebook(英語読みだと「ジュパイター・ノートブック」だけど、まあ「ジュピター・ノートブック」でいい)形式のファイルとして残る。拡張子は「*.ipynb」で、各自のGoogleドライブ(クラウドストレージの一種)に保存される。手元のPCへダウンロードしたり、逆にアップロードもできるが、授業の進行につれて自然に身につくだろう。
JupyterノートブックはColab専用のフォーマットではなく、Jupyter Labや、PCにインストールするJupyter Lab Desktopなどのアプリでも実行できる。

Googleアカウントでログインする

ColabへはGoogle Chromeブラウザでアクセスしなければならない。教室PCにはインストール済なので問題ないが、オンデマンド回の授業(最大7回ある)を自宅から受けるのに必要なので、インストールしておこう。他のブラウザからは利用できない。
最初にこのリンクからGoogleにログインする。Gmailを使っている人は、同じアカウントが使える。
  Googleアカウント
  https://accounts.google.com/
すると図2-1のログイン画面が表示されるので、Googleアカウントでログインする。この画面からアカウントを作成することもできる。

図1-1: Googleのログイン画面

Colabにアクセスする

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

図2-1: 「ノートブックを開く」ダイアログ

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

図2-3: 新しいノートブック

1 正式はフルパスは「/content/drive/MyDrive/Colab Notebooks」である。繰り返しになるが、すべてのファイルはローカルPC上ではなくGoogleドライブというクラウドストレージ上に保存されている。ここのフォルダ階層を管理するのは各自の役目だから、左端の「フォルダ」でファイルの場所を時々確かめる習慣をつけよう。フォルダ階層をあまり複雑にすると、自分でも迷子になるからお奨めしない。また、Googleドライブをマウントすることを要求されることもある。

Pythonコードを実行してみる

すでにプログラミングの準備はできている。画面に表示されている横長の領域は「コードセル」といい、ここにPythonのプログラムを書く。手始めに単純な数式を入力してみよう(リスト2-1)。

リスト2-1: 簡単な数式を入力

セルの左端にあるをクリックすると、数式が評価され、結果がセルの下(出力アクション)に表示される(リスト2-2)。初回はColabのサーバ(バックエンド)との通信を確立するために、ちょっと待たされるかもしれない※2

2 反応が遅いからといって、同じ操作を何度もやるのはICTでは絶対禁止。 エレベータに乗り遅れそうなオジサンじゃないし

リスト2-2: セルの出力アクション

演習:いろいろな数式を入力してみよう

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

リスト2-3: 最後の数式の評価結果だけ表示される

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

3 Jupyterノートブックの左上に表示される「+ コード」をクリックしても同じ。

リスト2-4: セル実行とともに次のセルを追加

4通りのセル実行方法を整理しておこう。

セルを実行
セル左端の▶ボタン、または「Ctrl+Enter」
セルを実行して次のセルを追加
+コード、または「Shift+Enter」
ところで、「+コード」の隣には「+テキスト」があるのにお気づきだろうか。実はColab(Jupyterノートブック)のセルには、「コードセル」と「テキストセル」の2種類があり、テキストセルにはプログラム以外の説明文などを書ける。「Markdown記法」を使えば、Webページに近い、見栄えのする表示もできる。これらもいずれ使おう※4

4 「コードセル」「テキストセル」を駆使すれば、このWeb講義資料自体もすべてJupyterノートブック形式で記述できる。だがそれだと、履修者のみなさんは手でプログラムを入力するかわりに、セルをチュルチュルと実行してだけで学習した気になるかもしれないから(そして知識は右から左の耳へチュルチュルと抜けていく)、あえてその誘惑は退けた。プログラムは自分の手を動かしてこそ身につくからだ。

ノートブックを保存

ある程度学習が進んだら(たとえば授業の終わりに)、ノートブックにファイル名をつけて保存しよう。左上のタイトル部分をクリックするとファイル名が変更できる(図2-4)。でも拡張子「.ipynb」を変更しないこと。ファイルが「Jupyterノートブック」と認識されなくなってしまう。
保存したノートブックは、やはり「マイドライブ/Colab Notebooks」フォルダ以下にあるから、次回Colabにログインして使える。セルの実行結果(出力アクション)も保存されている。

図2-4: ノートブックの保存

以上、Colabの基本的な使い方を説明した。今回は数式を計算させて結果を求めただけなので、あまり「プログラム」っぽくないが、次回以降でPythonの文法を習得してゆくと、実はどんなプログラムも、この数式の評価の延長線上にあるとわかる。

Googleドライブのマウント

ファイル名を変更してノートブックを保存したはずなのに、左側の「フォルダ」アイコンで表示されない。そもそも「マイドライブ/Colab Notebooks」フォルダってどこにあるの? と訊かれることが多い。実は、Googleドライブを覗くには、ローカルPCにはない「マウント」操作が必要である(この辺りがクラウド環境の面倒くささ)。 手順は以下の通りである。まず、「フォルダ」アイコン(図2-5では赤く表示されている)をクリックして、エクスプローラに似たファイル階層を表示する。この時点ではまだ「sample_data」フォルダしか表示されていない。
そこで、赤丸で囲んだ「Googleドライブのマウント」アイコンをクリックする。

図2-5: 「Googleドライブのマウント」アイコン

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

図2-6: 「ファイルへのアクセスを許可」ダイアログ

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

図2-7: マウント後のファイル階層

このマウント操作はプログラムでも実行できるが、その方法は外部ファイルを読み書きするプログラムを学ぶ際に、「カレントワーキングディレクトリ(CWD)」の移動と一緒に解説する(第6回の「オマジナイ」参照)。

ファイルのアップロード

ローカルPCからGoogleドライブにファイルをアップロードするには、マウント後、「MyDrive/Colab Notebook」フォルダを開いておき、ローカルPCのエクスプローラからファイル(のアイコン)を ドラッグすると、図2-8のようなメッセージが表示されるので、点線枠内にドロップすればよい。間違って別の場所に落ちたときは、そこから正しいフォルダにドラッグ&ドロップし直す。

図2-8: ファイルのアップロード

教科書について

この授業では、Web講義資料(つまりこれ)と、(オンデマンド型)ビデオ教材で解説してゆくので、教科書は要らないと思うかもしれない。
しかし、プログラミングを学んだり、自分でプログラムを書く時には、よい参考書を手元に置いて、いつも参照するのがよい。俗に「座右の書」という。私自身も、できるだけ分かりやすく、ていねいな解説を心がけているが、1つのプログラミング言語を隅々まで説明するには、やはり1冊分のボリュームが必要なのだ。
プログラミングには、わからないことが2種類ある。考えればわかることと、考えてもむだなことだ。言語の文法やモジュール(ライブラリ)の仕様は、どこかの誰かが決めたことにすぎないから、後者の典型である。考えるな、読むんだ!Don't think. Read!※5

5 別バージョンに感じるな、考えるんだ!Don't feel. Think!がある。

この授業では、図2-5に示す以下の1冊を「教科書」に指定する。
  情報演習33 ステップ30 Python[基礎編]ワークブック カットシステム
  ISBN978-4-87783-837-9

書名にあるように、4ページから6ページ程度の短い30の「Step」で、Python言語の文法と機能を一通り解説しているので、将来に渡ってリファレンス本として使える。本体1,000円以下と安いので、ぜひ入手して、授業を受ける際に活用してほしい。

図2-9: 使用する教科書

テキストの構成

このテキストの目次を以下に示す(付録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分)」を参考にしてほしい