みやまのアトリエ

スマホアプリ開発 プログラミング ペンタブ備忘録 お絵描き

マンガで分かるPython入門 「第2話 変数と代入を使う」

f:id:M_Atelier:20180429001117p:plain

 

f:id:M_Atelier:20180428223551p:plain


 前回、print文を用いることで、パソコンの画面に「文字」や「計算」を表示できることが分かりました。

print ("Hello World")   
(実行結果)  ⇒   HelloWorld  と表示される

 

 前回はこちら↓

マンガで分かるPython入門 「第1話 Pythonって何?」 - みやまのアトリエ

 

 今回は、 プログラミングの世界でよく使用する「変数」という“箱”について説明しようと思います。

f:id:M_Atelier:20180429002700p:plain

 

前回作ったプログラムを次のように変更してください。

 

プログラム

moji = "Hello World"
print (moji)

 

実行結果

 

 同じ結果が得られたと思います。しかし、前回とはプログラムの動きが異なります。
図解すると…

f:id:M_Atelier:20180426211252p:plain

 

 このように、「変数」は、文字や数値を入れておく“箱”の役割を果たします。指示内容「Hello World」を一度「moji」と書いた箱に入れ、「その箱の内容を言いなさい(printしなさい)」とパソコンに指示することになります。

  

 変数には文字だけでなく「数値」を入れることもできます。

 

プログラム

kazu = 3+6
print (kazu)

 

実行結果

9

 数値の場合、自動で計算され、計算結果が表示されましたね。 

 

変数のルール

 文字や数値を箱に入れることを「変数に代入する」と言います。その箱の名前は、「変数名」と言います。

 

「変数への代入」 変数名 = 文字または数値

f:id:M_Atelier:20180426211406p:plain

 今は行数が増えて不便に感じるかもしれませんが、これら変数について理解しておくと後々便利なプログラムが書けるようになります。少し理解を深めてみましょう。

 

その1 文字を入れる変数、数字を入れる変数は分けてください

 変数に代入するとき、文字は「""」を付けて、数値は「""」を付けずに代入してください。

      f:id:M_Atelier:20180426211445p:plain


プログラム

moji = "3+6の答えは"
kazu = 3+6
print (moji,kazu)


実行結果

3+6の答えは9


ここでは、

  • 「"3+6の答えは"」 という文字を変数mojiに代入
  • 「3+6」という数値を変数kazuに代入
    しています。最後に、文字と数値を合わせてprint文で出力しました。

その2 変数は何度でも代入できます

 

プログラム

moji = "Hello World"
moji = "かしこまっ"
print (moji)


実行結果

かしこまっ

 一度「Hello World」を変数「moji」に代入しましたが、再度「かしこまっ」を代入しました。もともと変数「moji」に入れられていた「Hello World」は取り出され、新しく「かしこまっ」が代入されることになります。
 数値の入っていた変数に文字を入れ直したり、文字の入っていた変数に数字を入れ直すこともできます。

                       f:id:M_Atelier:20180426211512p:plain

その3 変数の内容は、別の変数にコピーすることが出来ます

プログラム

mojiA = "ぷり"
mojiB = mojiA
print (mojiA)
print (mojiB)


実行結果

ぷり
ぷり

 この場合、変数mojiAに入れた文字「ぷり」を変数mojiBに「コピー」することになります。結果、「ぷり」が2つの変数「mojiA」「mojiB」に入っています。

                          f:id:M_Atelier:20180426211609p:plain

その4 変数を使って式を組み立てることも出来ます。


プログラム

kazuA = 10
kazuB = 25
kazuC = kazuA + kazuB
print (kazuC)


実行結果

35

      f:id:M_Atelier:20180426211731p:plain

 

ただし、数字と文字を混在させるとエラーが出ます。例えば、


プログラム

kazuA = 10
kazuB = "ぷり"
kazuC = kazuA + kazuB
print (kazuC)


実行結果

TypeError: unsupported operand type(s) for +: 'int' and 'str'

 このエラーは「数値と文字を足し算することは出来ないぷり~」って意味になります。intは数値、strは文字を表しています。

 

その5 箱の名前には少しルールがあります

変数名は次のルールがあります。

  • 1文字目は英文字を使用する
  • 2文字目以降は英文字、数字、アンダーバーを使用できる
  • 大文字は大文字、小文字は小文字で別々
  • 予約語は使用してはいけない

 

MEMO 予約語って何よ?
予約語は電話番号でいう110や119のように、「もう使用されてるから番号として使っちゃいけません!」って番号です。よく使用している「print」も、「画面に出力する」という予約語の一つです。

 print以外には、「for」「if」「class」などがあります。

 

練習

 下のプログラムには間違いがありますので、プログラムを書いて、実行してみて、間違い探しをしてください。


練習プログラム1

mojiA = ぷり
mojiB = mojiA
mojiA = "ありがとう"
print (mojiA,mojiB)

 

練習プログラム2

name = "南みれい"
ketueki = "A型"
gobi = "ぷり"
taisaku = "語尾カットホン"
month = 10
day = 1

 

print ("名前:", name)
print (血液型:,ketueki)
print ("語尾:" gobi)
print ("対策:" ,taisaku)
print ("誕生日:", month,"月",day,"日")

 

よく出るエラー

 書いたプログラムにミスがあると、実行したときに赤文字でエラーが表示されます。現段階でよく出てくるエラーをいくつか紹介します。


Missing parentheses in call tp 'print'. Did you mean print(○○)?


print 文の カギカッコ()を忘れていると起こります。
✖    print  name
〇 print (name)


NameError: name 'ptint' is not defined


print を間違えて ptint と入力しました。
変数名も、1文字でも間違えていればこのエラーが表示されます。


(例)
kazu = 10
print (kazo)


Syntax Error invalid systax

 

プログラムの記述ミスが原因で表示されます。例えば、「,」が無い、などのことで発生することもあります。赤色で強調されたら、その付近に忘れ物が無いか見てみましょう。

   f:id:M_Atelier:20180426211852p:plain

 

今回のまとめ

f:id:M_Atelier:20180426211406p:plain

 

 次回は「リスト」について勉強していきます。

atelier.hatenadiary.com