文法のきほん

INPUT · スライド

中身を書きかえる

01 / 06

入れ直せば中身が変わる

一度作った変数に、もう一度 = で値を入れると中身が置きかわる。前の値はもう残らないよ。

変数は「値そのもの」ではなく「値を入れておく場所」。だから入れ替えができるんだ。

tenki = "はれ"print(tenki)tenki = "あめ"print(tenki)

実行結果

はれ
あめ

02 / 06

書く順番がすべて

中身が変わるということは、いつ表示したかで結果が変わるということ。

プログラムは上から順に実行されるので、print を書いた位置が大事になるよ。下の例では、print が1回目の代入のあと、2回目のにあるから はれ が出る。

tenki = "はれ"tenki = "あめ"print(tenki)

実行結果

あめ

03 / 06

x = x + 1 は矛盾していない

ここが変数のいちばんおもしろいところ。kazu = kazu + 1 という行を見て「そんな数はない」と思ったなら、それは = を「等しい」と読んでいるからだよ。

= は「入れる」。だからこの行は「いまの kazu に1を足したものを、kazu に入れ直す」という意味になる。

kazu = 10kazu = kazu + 1print(kazu)

実行結果

11

04 / 06

右が先、左があと

なぜそう読めるのか。= は右側を先に計算してから、左に入れるからだよ。

kazu = kazu + 1 の流れはこうなる。

  • 右側の kazu + 1 を計算する → いまの kazu は10なので11
  • その11を左の kazu に入れる → 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