01 / 06
入れ直せば中身が変わる
一度作った変数に、もう一度 = で値を入れると中身が置きかわる。前の値はもう残らないよ。
変数は「値そのもの」ではなく「値を入れておく場所」。だから入れ替えができるんだ。
tenki = "はれ"print(tenki)tenki = "あめ"print(tenki)実行結果
はれ あめ
文法のきほん
INPUT · スライド
01 / 06
一度作った変数に、もう一度 = で値を入れると中身が置きかわる。前の値はもう残らないよ。
変数は「値そのもの」ではなく「値を入れておく場所」。だから入れ替えができるんだ。
tenki = "はれ"print(tenki)tenki = "あめ"print(tenki)実行結果
はれ あめ
02 / 06
中身が変わるということは、いつ表示したかで結果が変わるということ。
プログラムは上から順に実行されるので、print を書いた位置が大事になるよ。下の例では、print が1回目の代入のあと、2回目の前にあるから はれ が出る。
tenki = "はれ"tenki = "あめ"print(tenki)実行結果
あめ
03 / 06
ここが変数のいちばんおもしろいところ。kazu = kazu + 1 という行を見て「そんな数はない」と思ったなら、それは = を「等しい」と読んでいるからだよ。
= は「入れる」。だからこの行は「いまの kazu に1を足したものを、kazu に入れ直す」という意味になる。
kazu = 10kazu = kazu + 1print(kazu)実行結果
11
04 / 06
なぜそう読めるのか。= は右側を先に計算してから、左に入れるからだよ。
kazu = kazu + 1 の流れはこうなる。
kazu + 1 を計算する → いまの kazu は10なので11kazu に入れる → kazu は11になる右の kazu は古い値、左の kazu は新しい入れ物。同じ名前でも役割がちがうんだ。
ten = 100ten = ten - 30ten = ten - 20print(ten)実行結果
50
05 / 06
書きかえずに、計算結果を別の名前に取っておくこともできる。元の変数はそのまま残るよ。
どちらがいいかは場面しだい。元の値をあとで使うなら別の名前、もう使わないなら書きかえ、と考えればいいよ。
moto = 100zeikomi = moto * 1.1print(moto)print(zeikomi)実行結果
100 110.00000000000001
06 / 06
まだ作っていない変数を使おうとすると NameError になるよ。
「そんな名前は知らない」というエラー。変数を作る行より下でしか使えないという順番のルールを守ろう。打ちまちがいでも同じエラーが出るので、名前のスペルも確かめてね。
print(nedan)nedan = 150実行結果
NameError: name 'nedan' is not defined