Python入門

コンピュータは「0」、「1」の機械言語を使って動いています。人がコンピュータに会話するために、人間と機械両方が分かる「プログラミング言語」が必要です。

コンピュータが発明されてから、多くの言語が作られています。Python言語のほかに、有名なものでは、Fortran言語、C言語、Java言語、Javascript言語などがあります。

本日は以下のPython言語の基礎概念を解説します。

(教科書「Python超入門」のChapter 1,3に参照してください。)

補足

CESに限らず、Windows, MacOS, Linuxの中で、Pythonコードを実行することも可能です。教科書の4-5ページを参考しなさい。34-39ページにもコードの実行方法の説明があります。

1. Python言語の変数

プログラミングの変数は、プログラムで利用するデータを一時に保存する入れ物のようなものです。

「x=5」のようなプログラムでは、「=」の右辺の値5を左辺の変数「x」に代入します。 「=」は「代入演算子」と呼ばれています。

以下の例では、変数x,y に他の値を代入してみましょう。変数の値を確認するために、「print()」という関数を使って値を出力して確認することができます。

1.1 変数の役割

コンピュータのプログラミングでは、機械的な考え方が必要です。「値を必ず何の変数に格納すること」を意識してください。

例:変数の値の入れ替え

以下、二つの変数の値の入れ替えの例によって、変数の役割を体験してみます。

下記のコードでは、変数x,yはそれぞれ値を持っています。二つの変数の値を入れ替えることを行います。

以下の失敗の例を実行してみて、値の入れ替えが正しく出来ていない理由を考えてください。

変数の値がなくならないように、第3変数を用意することが必要です。以下は値の入れ替えの成功の例です。

補足

a) 変数に関わる用語
変数に関する処理には一般的に「プログラミング用語」が使用されます。以下の用語を覚えてほしいです。 - 変数を作成して、(初めて)値を代入することを**初期化**と言います。 - 変数を作成すること -> 変数を「**宣言**」する。変数を「**定義**」する。 - 値を変数に入れること ->変数に値を「**代入する**」。変数が値を「**格納する**」「**保持する**」
b) 変数名のルール
変数名の名前付けでは、以下のルールがあります。 - 大文字・小文字のアルファベットと数字、"_"(アンダーバー)の組み合わせ - 数字から始まらないこと - Python言語の文法ですでに使用している単語(「予約語」)でないこと。例えば、「if」。

演習1

変数a,b,c,dはそれぞれ値を持っています。変数の値を以下のように入れ替えてください。

$$ \left(\begin{array}{c} a \rightarrow b \\ b \rightarrow c\\ c \rightarrow d\\ d \rightarrow a\end{array} \right) $$

例えば、最初に$a=1,b=2,c=3,d=4$の場合、入れ替え後、$b=1,c=2,d=3,a=4$となります。

1.2 変数の「型」

Python言語では、数字を扱えることができます。数字でも「整数(int)」、「浮動点小数(float)」の区別があります。

数字以外に、文字列(str)、リスト(list)などの変数の型があります。「type()」を使って、変数のタイプを調べることができます。

変数自身のタイプによって、同じ演算子でも変数に関わる演算は変わります。

以下の二つの例では、「+」という演算子は異なる意味を持っています。 最初の例では、「+」は「足し算」を意味しています。2番目の例では、「+」は「文字列の結合」を意味しています。

キャストを使った型の変換

文字列と数値を結合する場合、同じ型にしないとはいけないです。以下コードでは、course_name と score は異なるタイプであるので、実行するとエラーとなります。

「str()」という関数を使って、scoreを文字列に変換すれば、問題が解消します。

代わりに、"100"のような文字列を数字に変換することも可能です。

補足

以下の例では、a,bはそれぞれ整数ですが、割り算のとき、a,bを一度小数(float)に変換して、値を計算しています。

1.3 リストの使用

リスト(list)はデータの並びを扱うための型です。以下の例では、リストの初期化ができます。

リストに値を追加するために、appendという関数を使います。

リストの各要素をインデックス番号によってアクセスできます。特に、リスト内の要素は0から数え始めます。

リストの各要素を順番にアクセスするために、for文のルールが使用されています。

rangeの使用

連続の数字の並びを作成するために、range関数は便利です。

rangeの使用例

以下のコードの表示結果を確認してください。

演習 2

forループによって、以下のような結果を出力してください。

The age of taro is 12.
The age of jiro is 7.
The age of saburo is 4.
The age of shirou is 3.

演習3

range()を使って、以下のような数列のリストを作成してください。

[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

レポートの提出について

本授業の演習1、2、3を解いて、新しいNotebookで演習の内容と回答を書いて、提出してください。