第1章 Python をはじめよう!

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

1.1 Python とは

1.1.1 Python について

テキストで紹介されている,Python の情報を得るための「定番」サイト

Python の特徴

このセクションについての補足説明は現在のところありません。

1.1.2 Python のバージョンについて

この授業では Python の実習環境として Google Colaboratory を使います。 環境構築が不要で,ブラウザ上で Python プログラムを書いて実行することができます。

Google Colaboratory でプログラムを書いて実行する方法を次節で説明します。 そのとき,Python のバージョンを調べてみます。

1.1.3 Python プログラムの実行

ブラウザは Google Chrome を使うとよいでしょう。 Google のアカウントでログインします。大学から付与されたアカウントでよいでしょう。

Google Colaboratory にアクセスすると,下図のような「ノートブックを開く」というウィンドウが開くと思います。 左下の「ノートブックを新規作成」というボタンをクリックします。

Open New Notebook

もし上図で「キャンセル」を押してしまった場合は, 「ファイル」メニューから「ドライブの新しいノートブック」をクリックします。

ブラウザで開かれるのは colab notebook と呼ばれる環境です(下図)。 Python のプログラムを書いて実行することができます。

Open New File untitled0

AI アシスタント機能が有効になっている場合は, 下図のように見た目が少しだけ異なります。

Open New File untitled0 AI on

新規作成されたノートブックの名前は Untitled + 番号 となります。 番号は 0 から始まる整数です。 Google ドライブに「Colab Notebooks」というフォルダが作成され, ノートブックはここに保存されます。ノートブックの拡張子は ipynb です。 この拡張子は IPython notebook という意味です。 IPython(アイパイソン)は IPython notebook というノートブック環境を提供していました。 これはのちに Jupyter notebook に引き継がれ,さらに colab notebook 開発のベースとなりました。

新規作成されたノートブックでは, 左端に三角形がある長方形の領域でカーソルが点滅しています。 この領域は セル(cell)あるいは コードセル(code cell)と呼ばれます。 ここにコード(プログラム)を書いて実行します。

ファイル名が "Untitled" なので,適切な名前に変更しましょう。 「ファイル」メニューから「名前の変更」をクリックします。

Change File Name

左上に表示されているファイル名を適切な名前に変更します。 下図では chap01.ipynb としています。 「ファイル」メニューから選択しなくても, この名前部分をクリックするとファイル名の変更ができます。

Change File Name

Python のバージョンを確認してみましょう。コードセルで


!python --version

と書いて,左端の三角形をクリックしてください。 すると,このコードが Google のクラウドサーバーに送信されて実行され, 下図のように実行結果が表示されます。バージョンは 3.11.12 ですね。

version

三角形をクリックする代わりに,[Ctrl] キーを押しながら [Enter] キーを押してもコードを実行できます。 これは Windows の場合で,mac では [command] キーを押しながら [retern] キーを押します。

[Shift] キーを押しながら [Enter] キーを押すと,コードを実行するとともに, 次のコードセルに移動します。次のコードセルがない場合は作成されます。

入力されたプログラムに誤りがあると何らかのエラーメッセージが返されます。 下図は version の前に2つ必要な - をひとつにしてしまった誤りです。 オプションの指定である -version が理解できないと言われています。

an error message

エラーが生じたらプログラムを書き直して実行します。 プログラミングではエラーは頻繁に生じます。 エラーメッセージの意味は,最初はよくわからないかもしれませんが, 何度も出会っているうちにわかってきます。

Google Colaboratory で書いたプログラムは,Google ドキュメント(文書作成)や Google スプレッドシート(表計算)と同様に自動保存されますが, 意識的に保存することもできます。 「ファイル」メニューから「保存」をクリックしてください。 [Ctrl] キーを押しながら [S] キーを押すショートカットでも保存できます。

プログラムのファイルを閉じるには,Google ドキュメントや Google スプレッドシートと同様に,ウィンドウを閉じるだけです。

1.2 Python の基本

1.2.1 インタラクティブシェル(基本対話モード)

この授業ではインタラクティブシェルは使いません。 パソコン室のパソコンには Anaconda という Python のパッケージがインストールされていて, そこからインタラクティブシェルを起動することができます。

インタラクティブシェル(基本対話モード)の起動と終了

Google Colaboratory で著作権情報を表示してみましょう。 1.1.3節で Python のバージョン情報を表示しました。 その下に新しいセルを追加します。 ファイルを閉じていた人は,「ファイル」メニューから「ノートブックを開く」をクリックして, 1.1.3節で作成したファイル(chap01.ipynb)を開いてください。

左上の「+ コード」をクリックしてください。 現在選択されているセルの下に,新しいコードセルが挿入されます。

Insert Code Cell

copyright あるいは copyright() と入力して実行してください。 下図のように著作権情報が表示されます。

copyright

Google Colaboratory では,コード(プログラム)を入力するコードセルの他に, テキストを入力できる テキストセル があります。使ってみましょう。

左上の「+ テキスト」をクリックしてください。 現在選択されているセルの下に,新しいテキストセルが挿入されます。

Insert Text Cell

テキストセルには任意のテキストを入力できます。 セクション番号とタイトルを入力してみましょう。 Google Colabのテキストセルは Markdown と呼ばれる書き方を使うことで, 簡単な整形を行うことができます。 たとえば,見出しのレベルを変えることができます。 テキストセルに,以下のように入力してみてください。


# 1-2 Python の基本

セルの右側に,この入力がどのように表示されるか, プレビューが示されています。# の行はレベル1の見出しになります。

Markdown Level 1 Text

すぐ上のコードセルで行った著作権情報の表示は 1-2 節の内容ですから, この節のタイトルを示すテキストセルをこのコードセルの上に移動しましょう。 右側に現れているアイコンの集合の中から,上向き矢印をクリックしてください。

Move Cell

テキストセルがひとつ上に移動し,入力が確定されました。

Move Cell

1-2 節の見出しの下に,サブセクションであるレベル2の見出しを挿入しましょう。 1-2 節の見出しが選択された状態で,テキストセルを挿入し,以下のように入力してみてください。


## インタラクティブシェル(基本対話モード)

右側にプレビューが表示されます。

Markdown Level 2 Text

プレビューを確認したら,他のセルをクリックするか, [Shift] キーを押しながら [Enter] キーを押すと,テキストセルへの入力が確定されます。

Markdown Level 1 and 2 Text

テキストセルでの # と ## の行はいずれもセクションの見出しですが, レベルが異なっていることがわかります。

左側に並んでいるアイコンの一番上にある,「目次」のアイコンをクリックすると, セクションの目次が表示されます。

index

1.2.2 演算子とオペランド

四則演算の演算子(operator)はエクセルと同じです。 除算(割り算)については,切り捨て除算と剰余の演算子があります。 これらにはなじみがないかもしれません。

べき乗の演算子はエクセルと異なっているので注意してください。

テキストの 例1-4 にある計算はそれぞれ別のコードセルで実行してください。 ひとつのコードセルに複数の計算を書くことはできますが, 下図のように,最終行の計算結果だけが表示されます。

example 1-4

演算子とオペランド

Table 1-1 にある算術演算子の中で,2つの 単項演算子(unary operator)は少し注意が必要です。 数 x に単項-演算子をつけた -x は,負の数に見えますが, そうではありません。実際,もし x が負の数なら -x は正の数ですね。 プログラム中で負の数を具体的に -5 と書いたとき, これは 5 という正の数に単項-演算子が適用されて負の数が生成されたと理解します。

Table 1-1 にある2項演算子(binary operator)のうち, べき乗演算子 ** 以外は 左結合(left-associative)です。 たとえば,加算演算子の場合,x + y + z と書くと,(x + y) + z という演算が行われます。 結合法則が成立する演算子では演算順序を気にしなくてよいですが, 成立しない演算子では注意が必要です。

べき乗演算子 ** は 右結合(right-associative)なので, 2 ** 1 ** 4 と書くと, 2 ** (1 ** 4) という演算が行われ,結果は 2 となります。 下図のように結合性を確認するとよいでしょう。 切捨て除算演算子 // が左結合であることも確認しています。

コード中にある # 以降の記述は注釈です(テキスト p.30)。 コードの実行では無視されます。

left-associative / right-associative

演算子の優先度

このセクションについての補足説明は現在のところありません。

1.2.3 数値型と数値リテラル

数値型

このセクションについての補足説明は現在のところありません。

数値リテラル(整数リテラルと浮動小数点数リテラル)

テキスト p.11 の最後に述べられている「10の指数表記」とは,挙げられている例での e5 および e-7 という表記です。 1e5 1 × 10 5 3.14e-7 3.14 × 10 - 7 です。