変数の定義 | 変数と定数 | Python本格超入門

スポンサーリンク
スポンサーリンク
amazon
プライム感謝祭
--:--:--
~
ad. 価格範囲を指定して商品を探せます

変数の定義

Pythonでは、変数を使用することでデータを一時的に保存し、プログラム内で再利用することができます。変数には、数値、文字列、リストなどのさまざまなデータ型を保存できます。この章では、Pythonにおける変数の定義方法や注意点について説明します。

変数の定義方法

Pythonで変数を定義する際は、次のように書きます。

# 変数の定義
変数名 = 値

# 例:
x = 10  # xに10を代入
message = "こんにちは"  # messageに文字列を代入

上記のように、Pythonでは変数を定義する際に特別な宣言は必要なく、=(代入演算子)を使って値を代入するだけで変数が作成されます。プログラミングにおける「=」は、数学の等号(等しい)という意味ではなく、「右辺の値を左辺の変数に投げ入れる(代入する)」という意味になる点に注意しましょう。変数名は任意ですが、Pythonの命名規則に従うことが重要です。

変数名の命名規則

Pythonで変数名を定義する際は、以下のルールに従う必要があります。

ルール 説明
アルファベット、数字、アンダースコア 変数名にはアルファベット(a-z、A-Z)、数字(0-9)、およびアンダースコア(_)が使用できます。ただし、変数名の先頭には数字を使用できません。
予約語は使えない Pythonの予約語(if、while、classなど、あらかじめ言語の機能として決まっているキーワード)は変数名として使用できません。
大文字と小文字は区別される Pythonでは、変数名において大文字と小文字が区別されます。たとえば、nameとNameは異なる変数として扱われます。

追加解説:良い変数名をつけるための慣習

文法的に正しくても、a や b1 といった意味のない変数名ばかりを使うと、後からコードを読み返したときに中身がわからなくなってしまいます。Pythonでは、2つ以上の単語を組み合わせる場合、アンダースコアで繋ぐ「スネークケース」という書き方が推奨されています。

# 良い変数名の例(中身が想像しやすい)
user_name = "Alice"
total_price = 1500
max_score = 100

変数のデータ型

変数に代入できるデータにはさまざまな型があります。Pythonでは変数の型を明示的に宣言する必要はなく、代入された値に応じて自動的に型が決まります。

# 整数型 (int)
x = 100

# 浮動小数点型 (float)
y = 3.14

# 文字列型 (str)
name = "Alice"

# ブール型 (bool)
is_active = True

このように、Pythonでは変数の型が自動的に決まります。これを「動的型付け」と呼び、型を意識せずにプログラミングができる利点があります。なお、現在の変数が何の型になっているかを知りたいときは、type()関数を使うことで確認できます。

# 型を確認する例
print(type(x))     # <class 'int'> と出力されます
print(type(name))  # <class 'str'> と出力されます

変数の再代入

変数に代入された値は、後から別の値に変更することが可能です。これを再代入と呼びます。

# 変数の再代入
x = 10  # 初期値として10を代入
x = 20  # 20に上書き(古い10は消えます)

# 例: 変数に異なる型の値を再代入
y = "Python"
y = 3.1415

上記のように、Pythonでは同じ変数に対して異なる型の値を再代入することも可能ですが、コードが混乱する原因になるため、基本的には同じ変数には同じ型の値を使い回すのが推奨されます。

変数を使った演算

変数は数値の演算や文字列の連結など、さまざまな操作に利用できます。次の例は、変数を使った基本的な演算です。

# 数値の演算
a = 5
b = 3
result = a + b  # 8

# 文字列の連結
greeting = "Hello"
name = "John"
message = greeting + ", " + name  # "Hello, John"

追加解説:自分自身の値を更新する「累積代入演算子」

実際のプログラムでは、現在の変数の値にさらに数値を足して更新する(スコアを加算していくなど)という処理が頻出します。その際に便利な略記法(+= などの累積代入演算子)も一緒に覚えておきましょう。

# 通常の書き方
score = 100
score = score + 10  # 100に10を足して、再びscoreに代入(110になる)

# 累積代入演算子を使ったスマートな書き方
score = 100
score += 10         # 上記と全く同じ意味(110になる)
print(score)

まとめ

Pythonにおける変数の定義は非常にシンプルで、宣言なしに代入を行うことで変数が作成されます。また、動的型付けのため、型を意識することなく柔軟に変数を操作できます。変数の命名規則を守り、適切に変数を使用することで、コードの可読性と保守性が向上します。