変数とは、データに名前を付けて保存しておくための「箱」のようなものです。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)、アンダースコア(_)が使える
- 数字から始めることはできない
- 大文字と小文字は区別される(
nameとNameは別の変数) - 予約語(
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()関数で変数の型を確認できる