変数は「箱」ではない
Pythonを学ぶと、最初に出てくる言葉の一つが「変数」です。
よく「値を入れる箱」と説明されますが、この説明だけでは少し誤解が残ります。
Pythonにおける変数は、
値に名前を付けて、後から参照できるようにする仕組みです。
名前を付けるという行為
まずは一番シンプルな例を見てみます。
x = 10
この1行で起きているのは、
「10を箱に入れた」ことではありません。
10という値に x という名前を付けた
それだけです。
人が物事を整理するときに、
「これは〇〇」と名前を付けるのと同じ行為です。
名前と値は別物
次の例を見てください。
a = 10
b = a
ここで増えたのは「値」ではなく、名前です。
a と b は別の変数ですが、
同じ値を参照しています。
この時点では、
- 値:10
- 名前:a と b
という関係になっています。
変数が変わるとはどういうことか
では、次の例はどうでしょう。
a = 10
a = 20
一見すると、
「a の中身が 10 から 20 に書き換わった」
ように見えます。
ですが実際には、
aが 10 を指していた状態からaが 20 を指すように変わった
という 参照の付け替え が起きています。
値そのものが変形したわけではありません。
なぜこの考え方が大切なのか
変数を「箱」として考え続けると、
- なぜ同じ値に複数の名前を付けられるのか
- なぜ代入で挙動が変わるのか
といった場面で混乱しやすくなります。
一方で、
「名前と値は別物」
と考えると、Pythonの挙動はかなり自然に見えてきます。
まとめ
変数とは、
- 値を保存する箱
ではなく - 意味を付けて参照するための仕組み
です。
Pythonは、
人が考えている整理の仕方を、
そのままコードに書けるように設計された言語です。
変数は、その最初の一歩です。


コメント