-->
すべてのプログラムは順次構造・反復構造・選択構造の3つの基本構造の組み合わせで記述する事ができます。
このページではプログラミングの基本である順次構造を通して基本的な構造を学びます。
プログラミングでは、計算や処理で用いられるデータを保持するために変数が使われます。変数は値や文字列を保管する箱のようなものです。
代入演算子=
を使い、初めて変数に値を代入した時点で変数が作られます。
以下の1行だけのプログラムを考えてみましょう。
a = 2
このプログラムを実行すると、値2
を格納した変数a
が作られます。=
は代入演算子と呼ばれ、左辺に変数名、右辺に値を書きます。a = 2
は、a
と2
が等しいという意味ではなく、式の左辺であるa
に式の右辺である2
を代入するという意味です。
以下の3行からなるプログラムを考えてみましょう。
a = 2
b = 5
a = b
上記のプログラムは上から1行ずつ順に実行され、以下の流れで処理が進みます。
a
を、初期値2
で作成する。(a
の箱に2
が入る)b
を、初期値5
で作成する。(b
の箱に5
が入る)a
に、b
の値(5
)を代入する。(a
の箱にb
の箱の値5
が入る)ゆえに、最後まで実行すると、変数a
の値は5
に、変数b
の値は5
になります。
3行目のように、変数から変数に値を代入することもできます。この場合、右辺の変数の値が参照され、左辺の変数にコピーされます。参照された値はあくまでも参照されるだけであり、値がなくなったり変化したりするわけではありません。
変数には、整数や実数、文字列などのデータの種別を表す型があります。
Pythonでは変数に値を代入した時点で型が決まるため型の指定は行いません。主な型は以下の通りです。
1
、2
、3
など。1.0
、2.5
、3.14
など。"Hello"
、"World"
、"1"
など。ダブルクォート"
(またはシングルクォート'
)で囲む必要がある。True
(真)、False
(偽)の2つの値を持つ。比較演算子の結果などで使われる。プログラムでは、数値や文字列などのデータを扱う際に、演算子を使って計算や文字列の結合、比較などを行います。
以下にPythonでの主な演算子を示します。
+
、-
、*
、/
、%
算術演算子は数値の計算を行う際に使います。+
は結合演算子としても使われます。
+
:数値同士の足し算や、文字列同士の結合。1 + 2
は3
、"Hello" + "World"
は"HelloWorld"
になります。
1 + 1
は2
になりますが、文字列の場合、"1" + "1"
は"11"
になります。-
:引き算。3 - 2
は1
になります。*
:掛け算。2 * 3
は6
になります。/
:割り算。6 / 2
は3
になります。%
:割り算の余り。7 % 3
は1
になります(2あまり1
の1
の部分)。==
、!=
、<
、>
、<=
、>=
比較演算子は、左辺と右辺の値を比較して、比較結果が正しいかどうかの真偽値(True
またはFalse
)を返します。
==
:等しい
True
を返します。1 == 1
はTrue
、1 == 2
はFalse
になります。!=
:等しくない
True
を返します。1 != 2
はTrue
、1 != 1
はFalse
になります。<
:小なり
True
を返します。1 < 2
はTrue
、2 < 1
はFalse
になります。>
:大なり
True
を返します。2 > 1
はTrue
、1 > 2
はFalse
になります。<=
:小なりイコール
True
を返します。1 <= 2
はTrue
、1 <= 1
もTrue
になります。>=
:大なりイコール
True
を返します。2 >= 1
はTrue
、1 >= 1
もTrue
になります。以下のプログラムを考えてみましょう。
a = 1 + 2
b = 5 % 2
c = a > b
このプログラムを実行すると、以下の流れで処理が進みます。
a
を、1 + 2
の計算結果である3
を初期値として作成する。b
を、5 % 2
の計算結果である1
を初期値として作成する。c
を、a > b
の計算結果であるTrue
を初期値として作成する。ゆえに最後まで実行すると変数a
の値は3
に、変数b
の値は1
に、変数c
の値はTrue
になります。
以下のプログラムを考えてみましょう。
a = 1
a = a + 1
a = a + 2
a = a - 3
このプログラムを実行すると、以下の流れで処理が進みます。
a
を、初期値1
で作成する。a
に、a + 1
の計算結果(すなわち1 + 1
の結果)である2
を代入する。a
に、a + 2
の計算結果(すなわち2 + 2
の結果)である4
を代入する。a
に、a - 3
の計算結果(すなわち4 - 3
の結果)である1
を代入する。このように、変数の代入式の右辺では、変数の値を参照して計算を行うことができます。変数の値を更新する際には、上記のように変数自身の値を参照して計算を行い、その結果を変数に代入することもできます。
なお、累算代入演算子(+=
や-=
など)を用いると、a = a + 1
はa += 1
、a = a - 3
はa -= 3
と省略して書くことができます。教材では分かりやすさのため、a = a + 1
のように記述し、累算代入演算子を使わない形式で記述しています。
「#
」(シャープ)で始まる文章はコメントとして扱われ、プログラムの実行には影響しません。コメントはプログラムの内容を説明するために使います。
# このプログラムを実行しても何も起こらない!なぜならすべてコメントだから!
# a = 1
# b = 2
# c = a + b
# print(c)
このページでは、プログラミングの基本である変数と演算子について学びました。次のページに移る前に、以下の確認問題に取り組んで、学習内容への理解を深めましょう。
次のコードを最後まで実行した時、b
に入っている値は何か?
a = 2
b = 5
a = b
b = a
答え:b
には5
が入ります。
a = 2
b = 5
a = b # aにbの値である5が代入される
b = a # bにaの値である5が代入される
次のコードを最後まで実行した時、最後の出力は何か?
a = 2
b = 5
c = a
a = b
b = c
print(f"a: {a}, b: {b}, c: {c}")
答え:a
は5
、b
は2
。a
とb
の値を入れ替える処理を行っています。
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