Day 1・データと変数・型
代入と参照
箱に入れる(代入)、箱から取り出す(参照)、中身を入れ替える、という基本動作を身につける。
箱にデータを入れる = 代入
変数(箱)に値を入れる動作を「代入」と呼びます。多くの言語で = という記号を使いますが、これは算数の「等しい」ではありません。「右のものを、左の箱に入れる」という矢印だと思ってください。
ここ、みんなつまずく
score = 100 は「scoreと100は等しい」ではありません。「100 を score という箱に入れる」です。矢印 score ← 100 だと思うと混乱しません。
score = 100 # 箱 score に 100 を入れる(代入)
print(score) # 箱 score から取り出す(参照)→ 100箱から取り出す = 参照
入れた中身を使うことを「参照」と言います。名前を書くだけで、その瞬間の中身が出てきます。自動販売機のボタンを押すと、その列に今入っている飲み物が出てくるのと同じ感覚です。
たとえるなら
コインロッカーを想像してください。荷物を預ける(代入)、番号を言って荷物を受け取る(参照)。同じ番号でも、中身を入れ替えれば出てくるものは変わります。
中身の入れ替え
箱は何度でも入れ替えできます。新しい代入をすると、前の中身は上書きされて消えます。ここが大事で、古い中身は「取っておかれる」のではなく「捨てられる」のです。
stock = 10 # 在庫 10
stock = 8 # 誰かが2個買った → 箱の中身を 8 に上書き
print(stock) # → 8(10 はもう残っていない)右側が先に計算される
count = count + 1 のように、自分自身を使って入れ替えることもよくあります。これは「まず今の中身を取り出して、1を足して、その結果を同じ箱に入れ直す」という手順です。右側(計算)が先、左側(箱に入れる)が後、と覚えてください。
誤解
「count と count+1 が等しい」→ 数学的にありえないと混乱する
count = count + 1正しい読み方
今の中身に1足して、同じ箱へ戻す
新しい値 = 今のcount + 1
count = 新しい値- 代入 = 箱にデータを入れる(= は矢印、等号ではない)
- 参照 = 名前を書いて中身を取り出す
- 代入し直すと前の中身は上書きされて消える
- 右側が先に計算され、その結果が左の箱に入る
AIにはこう頼む
「この変数の中身が途中でどう変わっていくか、行ごとにコメントで書いて」と頼むと、代入のたびに中身がどう上書きされるか追えます。バグ探しの第一歩です。
読んでも腑に落ちない所は、AIに噛み砕いてもらいましょう。
理解度チェック
答えられれば、面接で説明できる状態に一歩近づきます。
x = 5 のあとに x = 9 を実行した。print(x) の結果は?
count = count + 1 の説明として正しいのは?
「代入」と「参照」の違いを、コインロッカーなど身近なたとえで説明してみよう。
記述式です。まず自分の言葉で答えを考えてから、模範解答を開いて自己採点してください。