Pythonでプログラムを作成する際、データを扱うために「変数」を利用し、さまざまな「演算」を行います。この章では、変数の定義や扱い方を基礎から理解し、算術演算や比較演算といった基本的な演算方法を学びます。プログラミングにおいて変数と演算は非常に重要な概念なので、しっかりと身につけましょう。
4.1 変数とは?
変数は、プログラム内で値(データ)を一時的に保存しておくための「名前のついた箱」のようなものです。この箱に数値や文字列などのデータを入れておき、後でそれを使ったり変更したりすることができます。変数を使うことで、プログラムが柔軟に動作し、同じ値を何度も書く必要がなくなります。
たとえば、次のようにして変数を使います:
x = 10 # 変数xに10を代入
y = 20 # 変数yに20を代入
result = x + y # 変数xとyの値を足し合わせ、変数resultに代入
print(result) # 30と表示される
4.1.1 変数の定義と代入
Pythonでは、変数を使用する際に特別な宣言は必要なく、=
演算子を使って値を代入するだけで簡単に定義できます。この =
演算子は代入演算子と呼ばれ、変数に値を割り当てるために使われます。
message = "Hello, Python!" # 文字列を変数に代入
number = 100 # 整数を変数に代入
message
という変数に"Hello, Python!"
という文字列を代入しています。number
という変数には整数100
が代入されています。
これで message
や number
を使って、その値を操作することができます。
4.1.2 変数の再代入
変数に代入した値は、後から変更することができます。これを再代入といいます。
x = 10 # 変数xに10を代入
print(x) # 10と表示される
x = 5 # 変数xに新しい値5を再代入
print(x) # 5と表示される
この例では、最初に x
に 10
を代入していますが、次の行で x
に 5
を再代入しています。プログラムは最後に代入された値を使用するため、最初の 10
は上書きされます。
4.2 変数の命名規則
変数名はプログラムを書く際の重要な要素です。Pythonでは、変数名には次のような命名規則があります。これらを守ることで、他の人がコードを読みやすくなり、バグも少なくなります。
4.2.1 有効な変数名
Pythonでは次のルールに従うことで有効な変数名を作成できます:
- 英字(大文字・小文字)、数字、アンダースコア
_
が使用可能。 - 変数名の最初の文字には数字を使用できない。
- Pythonの予約語(例:
if
、while
、for
など)は変数名として使えない。
valid_name = 100 # 有効な変数名
name1 = "Alice" # 有効な変数名(数字は末尾に使用可能)
_name = "Bob" # アンダースコアで始めることも可能
# 1name = "Eve" # エラー、変数名の最初に数字は使えない
4.2.2 読みやすい変数名
プログラムを他の人が読んだり、後で自分が見返したりするときに、変数名がわかりやすいことが重要です。たとえば、a
や b
という変数名よりも、age
や height
といった意味のある名前をつけるほうが、コードを理解しやすくなります。
# 悪い例
a = 25
b = 180
# 良い例
age = 25
height = 180
このように、変数名に何を表しているのかを含めることで、コードの可読性が大幅に向上します。
4.3 Pythonの演算子
プログラムでは、数値や変数に対して計算や操作を行うために演算子を使います。Pythonにはさまざまな演算子があり、ここでは代表的なものを紹介します。
4.3.1 算術演算子
算術演算子は、数値に対して基本的な計算を行うために使われます。次に、Pythonの主な算術演算子を示します。
+
:足し算-
:引き算*
:掛け算/
:割り算%
:剰余(余り)**
:累乗(べき乗)//
:切り捨て除算
a = 10
b = 3
print(a + b) # 13(足し算)
print(a - b) # 7(引き算)
print(a * b) # 30(掛け算)
print(a / b) # 3.333...(割り算)
print(a % b) # 1(10を3で割った余り)
print(a ** b) # 1000(10の3乗)
print(a // b) # 3(切り捨て除算)
//
は割り算の結果を整数に切り捨てる演算子です。たとえば10 // 3
の結果は3
です(小数点以下は切り捨てられます)。
4.3.2 代入演算子
代入演算子は、変数に値を代入するために使います。基本の代入演算子は =
ですが、他にも算術演算と組み合わせた代入演算子があります。
=
:代入+=
:加算して代入-=
:減算して代入*=
:乗算して代入/=
:除算して代入
x = 10
x += 5 # x = x + 5 と同じ
print(x) # 15
y = 20
y *= 2 # y = y * 2 と同じ
print(y) # 40
このように、算術演算子と代入演算子を組み合わせることで、より短いコードで計算と代入が行えます。
4.3.3 比較演算子
比較演算子は、2つの値を比較し、その結果をブール値(True
または False
)として返します。Pythonの主な比較演算子は次の通りです:
==
:等しい!=
:等しくない>
:より大きい<
:より小さい>=
:以上<=
:以下
x = 10
y = 5
print(x == y) # False(xはyと等しくない)
print(x != y) # True(xはyと等しくない)
print(x > y) # True(xはyより大きい)
print(x >= y) # True(xはy以上)
print(x < y) # False(xはyより小さくない)
比較演算子は、条件分岐やループといったプログラムの流れを制御するために頻繁に使用されます。
4.3.4 論理演算子
論理演算子は、複数の条件を組み合わせて判定するために使います。Pythonでは次の論理演算子が使われます:
and
:すべての条件がTrue
の場合にTrue
を返すor
:いずれかの条件がTrue
であればTrue
を返すnot
:条件を反転させる
a = True
b = False
print(a and b) # False(両方がTrueでないとTrueにならない)
print(a or b) # True(どちらかがTrueならTrue)
print(not a) # False(aがTrueなので、それを反転してFalseになる)
論理演算子は、複雑な条件を組み合わせる際に非常に便利です。
4.4 演算子の優先順位
プログラミングでは、演算子の優先順位に従って計算が行われます。たとえば、掛け算や割り算は足し算や引き算よりも先に処理されます。Pythonでもこのルールは適用されており、次の順序で演算が行われます。
- 括弧
()
- 累乗
**
- 乗算
*
、除算/
、剰余%
、切り捨て除算//
- 加算
+
、減算-
- 比較演算子
==
、!=
、>
、<
、>=
、<=
- 論理演算子
and
、or
、not
x = 3 + 5 * 2
print(x) # 13(5 * 2が先に計算され、その後3が加算される)
y = (3 + 5) * 2
print(y) # 16(括弧内の計算が先に行われ、その後2が掛けられる)
このように、括弧を使うことで演算の順序を明示的に制御することもできます。
4.5 型変換(キャスト)
Pythonでは、異なるデータ型を互いに変換することが可能です。これを**型変換(キャスト)**といいます。たとえば、数値を文字列に変換したり、その逆を行ったりできます。
int()
:値を整数に変換float()
:値を浮動小数点数に変換str()
:値を文字列に変換
x = "10"
y = int(x) # 文字列"10"を整数10に変換
print(y + 5) # 15
z = 3.14
w = str(z) # 浮動小数点数3.14を文字列"3.14"に変換
print("数値は " + w) # "数値は 3.14" と表示
型変換は、プログラムの中で異なる型のデータを適切に扱うために重要です。
まとめ
この章では、Pythonの変数の使い方や命名規則、そして算術演算子、比較演算子、論理演算子を使った基本的な演算について詳しく学びました。変数はプログラム中でデータを管理するための基本的な要素であり、演算を活用することで複雑な処理ができるようになります。