基礎

Pythonの変数|データの保存と命名ルールを理解する

変数とは、データに名前を付けて保存しておくための「箱」のようなものです。Pythonでは型の宣言が不要で、値を代入するだけで変数を作成できます。この記事では、変数の基本的な使い方から命名規則、よくある注意点まで詳しく解説します。

変数はプログラミングの最も基本的な概念の一つです。すべてのプログラムで変数を使うため、しっかりと理解しておきましょう。

基本的な使い方

Pythonでは =(代入演算子)を使って変数に値を代入します。変数の型はPythonが自動的に判断してくれます(動的型付け)。

Python
# 変数の作成と代入
name = "太郎"
age = 25
height = 170.5
is_student = True

# 変数の値を出力
print(name)
print(age)
print(height)
print(is_student)
実行結果
太郎
25
170.5
True

変数は何度でも値を上書き(再代入)できます。また、異なる型の値を代入することも可能です。

Python
# 変数の再代入
x = 10
print(x)

x = 20
print(x)

# 型の変更も可能
x = "文字列に変更"
print(x)
実行結果
10
20
文字列に変更

変数の命名規則

Pythonの変数名には以下のルールがあります。

  • 英字(a-z, A-Z)、数字(0-9)、アンダースコア(_)が使える
  • 数字から始めることはできない
  • 大文字と小文字は区別される(nameName は別の変数)
  • 予約語(if, for, class など)は使えない
Python
# 正しい変数名
user_name = "太郎"
age2 = 25
_private = "非公開"
MAX_SIZE = 100

# エラーになる変数名
# 2nd_name = "次郎"   # 数字で始まる
# my-name = "太郎"    # ハイフンは使えない
# class = "A組"       # 予約語
命名の慣習

Pythonでは変数名にスネークケース(単語をアンダースコアで区切る)を使うのが一般的です。例:user_name, total_price。定数は大文字のスネークケースで書きます。例:MAX_RETRY, API_KEY

複数の変数への代入

Pythonでは、複数の変数に一度に値を代入できます。

Python
# 複数の変数に同時代入
x, y, z = 1, 2, 3
print(x, y, z)

# 同じ値を一度に代入
a = b = c = 0
print(a, b, c)

# 変数の値を交換
x, y = 10, 20
print(f"交換前: x={x}, y={y}")
x, y = y, x
print(f"交換後: x={x}, y={y}")
実行結果
1 2 3
0 0 0
交換前: x=10, y=20
交換後: x=20, y=10

変数の型を確認する

type()関数を使うと、変数に格納されている値の型を確認できます。

Python
name = "太郎"
age = 25
price = 19.99
is_active = True

print(type(name))
print(type(age))
print(type(price))
print(type(is_active))
実行結果
<class 'str'>
<class 'int'>
<class 'float'>
<class 'bool'>
未定義の変数に注意

定義されていない変数を使おうとすると NameError が発生します。変数は必ず使用する前に値を代入しておきましょう。

実践的な使い方

Python
# 消費税計算プログラム
product_name = "ノートパソコン"
price = 89800
tax_rate = 0.10

tax = int(price * tax_rate)
total = price + tax

print(f"商品名: {product_name}")
print(f"本体価格: {price:,}円")
print(f"消費税: {tax:,}円")
print(f"税込価格: {total:,}円")
実行結果
商品名: ノートパソコン
本体価格: 89,800円
消費税: 8,980円
税込価格: 98,780円

まとめ

  • 変数は = で値を代入して作成する。型宣言は不要
  • 変数名はスネークケース(user_name)が推奨される
  • 数字で始まる名前や予約語は変数名に使えない
  • 複数の変数に同時代入や、値の交換が簡単にできる
  • type()関数で変数の型を確認できる