1. プログラミングの基本(変数・型・演算子)

すべてのプログラムは順次構造反復構造選択構造の3つの基本構造の組み合わせで記述する事ができます。

  1. 順次構造:上から下に記述された順番で、処理を実行します。
  2. 反復構造:同じ処理を繰り返し実行することができます。
  3. 選択構造:条件によって処理する内容を変えることができます。

このページではプログラミングの基本である順次構造を通して基本的な構造を学びます。

変数

プログラミングでは、計算や処理で用いられるデータを保持するために変数が使われます。変数は値や文字列を保管する箱のようなものです。
代入演算子=を使い、初めて変数に値を代入した時点で変数が作られます。

例題1

以下の1行だけのプログラムを考えてみましょう。

例題1
a = 2

このプログラムを実行すると、値2を格納した変数aが作られます。=は代入演算子と呼ばれ、左辺に変数名、右辺に値を書きます。a = 2は、a2が等しいという意味ではなく、式の左辺であるaに式の右辺である2を代入するという意味です。

例題2

以下の3行からなるプログラムを考えてみましょう。

例題2
a = 2
b = 5
a = b

上記のプログラムは上から1行ずつ順に実行され、以下の流れで処理が進みます。

  1. 変数aを、初期値2で作成する。(aの箱に2が入る)
  2. 変数bを、初期値5で作成する。(bの箱に5が入る)
  3. 変数aに、bの値(5)を代入する。(aの箱にbの箱の値5が入る)

ゆえに、最後まで実行すると、変数aの値は5に、変数bの値は5になります。

3行目のように、変数から変数に値を代入することもできます。この場合、右辺の変数の値が参照され、左辺の変数にコピーされます。参照された値はあくまでも参照されるだけであり、値がなくなったり変化したりするわけではありません。

変数の型

変数には、整数や実数、文字列などのデータの種別を表すがあります。
Pythonでは変数に値を代入した時点で型が決まるため型の指定は行いません。主な型は以下の通りです。

  1. 整数型:整数を表す型。例:123など。
  2. 実数型:実数を表す型。例:1.02.53.14など。
  3. 文字列型:文字列を表す型。例:"Hello""World""1"など。ダブルクォート"(またはシングルクォート')で囲む必要がある。
  4. 真偽値型:真偽値を表す型。True(真)、False(偽)の2つの値を持つ。比較演算子の結果などで使われる。

演算子

プログラムでは、数値や文字列などのデータを扱う際に、演算子を使って計算や文字列の結合、比較などを行います。
以下にPythonでの主な演算子を示します。

算術・結合演算子:+-*/%

算術演算子は数値の計算を行う際に使います。+は結合演算子としても使われます。

  1. +:数値同士の足し算や、文字列同士の結合。1 + 23"Hello" + "World""HelloWorld"になります。
  2. -:引き算。3 - 21になります。
  3. *:掛け算。2 * 36になります。
  4. /:割り算。6 / 23になります。
  5. %:割り算の余り。7 % 31になります(2あまり11の部分)。

比較演算子:==!=<><=>=

比較演算子は、左辺と右辺の値を比較して、比較結果が正しいかどうかの真偽値(TrueまたはFalse)を返します。

  1. ==:等しい
  2. !=:等しくない
  3. <:小なり
  4. >:大なり
  5. <=:小なりイコール
  6. >=:大なりイコール

例題3

以下のプログラムを考えてみましょう。

例題3
a = 1 + 2
b = 5 % 2
c = a > b

このプログラムを実行すると、以下の流れで処理が進みます。

  1. 変数aを、1 + 2の計算結果である3を初期値として作成する。
  2. 変数bを、5 % 2の計算結果である1を初期値として作成する。
  3. 変数cを、a > bの計算結果であるTrueを初期値として作成する。

ゆえに最後まで実行すると変数aの値は3に、変数bの値は1に、変数cの値はTrueになります。

変数の値を更新する

以下のプログラムを考えてみましょう。

例題4
a = 1
a = a + 1
a = a + 2
a = a - 3

このプログラムを実行すると、以下の流れで処理が進みます。

  1. 変数aを、初期値1で作成する。
  2. 変数aに、a + 1の計算結果(すなわち1 + 1の結果)である2を代入する。
  3. 変数aに、a + 2の計算結果(すなわち2 + 2の結果)である4を代入する。
  4. 変数aに、a - 3の計算結果(すなわち4 - 3の結果)である1を代入する。

このように、変数の代入式の右辺では、変数の値を参照して計算を行うことができます。変数の値を更新する際には、上記のように変数自身の値を参照して計算を行い、その結果を変数に代入することもできます。

なお、累算代入演算子(+=-=など)を用いると、a = a + 1a += 1a = a - 3a -= 3と省略して書くことができます。教材では分かりやすさのため、a = a + 1のように記述し、累算代入演算子を使わない形式で記述しています。

コメント

#」(シャープ)で始まる文章はコメントとして扱われ、プログラムの実行には影響しません。コメントはプログラムの内容を説明するために使います。

# このプログラムを実行しても何も起こらない!なぜならすべてコメントだから!
# a = 1
# b = 2
# c = a + b
# print(c)

まとめ

このページでは、プログラミングの基本である変数と演算子について学びました。次のページに移る前に、以下の確認問題に取り組んで、学習内容への理解を深めましょう。

問題1

次のコードを最後まで実行した時、bに入っている値は何か?

a = 2
b = 5
a = b
b = a

答え:bには5が入ります。

問題1
a = 2
b = 5 
a = b # aにbの値である5が代入される
b = a # bにaの値である5が代入される

問題2

次のコードを最後まで実行した時、最後の出力は何か?

a = 2
b = 5
c = a
a = b
b = c
print(f"a: {a}, b: {b}, c: {c}")

答え:a5b2abの値を入れ替える処理を行っています。

問題2
a = 2
b = 5
c = a # cにaの値である2が代入される
a = b # aにbの値である5が代入される
b = c # bにcの値である2が代入される
print(f"a: {a}, b: {b}, c: {c}") # a: 5, b: 2, c: 2