第2回「変数とデータのひみつ」
-コンピュータはどうやって”覚える”の?-
「変数」ってなんだろう?
まず、下のプログラムを実行してみてね。
COMMAND
入力エリア
RESPONSE
実行結果
PYTHON と表示されていればOKだよ。
コンピュータに何かを「覚えさせる」ための仕組みが 変数(へんすう) です。
変数は、データを入れておく“箱”のようなものです。
上のプログラムでは “PYTHON” という文字を name という箱に入れています。
箱にデータを入れることを 代入(だいにゅう) といいます。
print( name )この命令は、箱の中身を画面に出す命令です。
箱のデータを取り出して使うことを 参照(さんしょう) といいます。
次は、このプログラムを動かしてみよう。
COMMAND
入力エリア
RESPONSE
実行結果
入力した名前が表示されたかな?
name = input("あなたの名前は?")
print( "こんにちは。" , name , "さん" )1行目はinput()関数を使って、入力されたデータをnameという箱(変数)にしまっています。
2行目は、nameという箱の中身をprint()関数を使って画面に表示しています。
「変数」はデータを覚えておくための「箱」。
その箱に中身を入れる方法は、ひとつだけじゃないんです。
変数を使うと何がうれしいの?
今度は、このプログラムを動かしてみよう。
COMMAND
入力エリア
RESPONSE
実行結果
プログラムの3行目で、変数 “score” に5を足しています。
このように、変わっていくデータ(スコア、HP、時間…)を覚えておけるのが「変数」です。
だから「変わる数」と書いて 変数(へんすう) と呼びます。
ゲームの画面を想像してみよう。
スコア、HP、アイテムの数、敵の位置・・・色々な情報があるよね。
そういった情報は全部、「変数」を使って情報を覚えているんだ。
変数の名前のつけ方(ルール)
変数を用意するとき、変数の名前にはちょっとしたルールがあります。
例:変数は数字で初めてはダメ!
COMMAND
RESPONSE
エラー(Error)が表示されるよ!!
例:ひらがな、カタカナ、漢字は使わない!
COMMAND
RESPONSE
エラー(Error)が表示されるよ!!
例:大文字と小文字を区別する。
COMMAND
RESPONSE
name と Name は、違う変数になるんだね!!
「数」と「文字」の違い
Pythonでは、変数に「数」も「文字」も入れられます。
でも、見た目が同じでも中身がちがうことがあります。
COMMAND
RESPONSE
表示すると、数字の10なのか、文字の”10″なのか分からないね。
できることのちがい
変数に入れた「数」は、たし算や、ひき算、かけ算、わり算などの「計算」ができます。
文字は計算には使えないけど、他の文字を「つなげる」ことが出来ます。
COMMAND
RESPONSE
「+」の意味が、数字と文字で違うんだね!!
Pythonやそのほかのプログラミング言語で、*(アスタリスク)は「かけ算」という意味です。
数字と文字で*を使った時のちがいを見てみましょう!!
COMMAND
RESPONSE
「*」の意味も、数字と文字で違うんだ!!
「数」と「文字」、混ぜると危険!!
input()は「文字」が返ってくる!!
input()関数で入力された「数字」に、1を足して表示するプログラムを作ってみました。
「何歳ですか?」と表示され、例えば15と入力したら、
「来年は16歳ですね。」と表示されるはずです。
では、動かしてみて下さい。
COMMAND
RESPONSE
数字を入力してもエラー(Error)が表示されるよ!!
エラーが表示されましたね💦
実はこれ、input()で入力されたものは、ぜんぶ「文字」として変数に入るんです。
見た目は数字でも、input()から渡されたものは「文字」になってしまいます。
Pythonは「文字に数字の1を足して」と言われ、たし算が出来なくて、
「”文字”と”数字”のたし算は出来ないよ~」
「変数の種類が違うよ~」
という、メッセージを返してくれています。
「エラー」はPythonからの大事なメッセージ

エラーが出ると、左の図のようなメッセージが表示されます。
エラーのメッセージは全部英語です。
単純な単語ばかりなのですぐになれます。
“Type” は「種類」、”str”は「文字」、
“int”は「数字」という意味です。
文字と、数値、種類のエラーと推理できます。
2行目がまちがってるよ!と場所も教えてくれます。
このアドバイスをもとにエラーを直すことができます。
エラーを読むことができるようになると、Pythonと“会話”できるようになります。
データには「型」がある。
変数に入れるデータには「文字」や「数字」などの「種類」があります。
この種類の事を「データ型」といいます。
“あいう”,”ABC” などの文字は「文字型」、
123 などの数字は「数値型」といいます。人間で言う、血液型のようなものです。
データの型を合わせよう。
ひとつ前のプログラムではエラーになりました。
文字と数字、データ型がちがう物どうしで、たし算をしようとしたからです。
では、次のプログラムを実行してみて下さい。
COMMAND
RESPONSE
あ!こんどは、ちゃんと動いたよ!!
データ型がちがう物同士をあつかう時は「データ型を変える」しくみを使います。
文字→数字にするとき:int()
数字→文字にするとき:str()
今回は、文字型だった age を int(age) で、数字に変換しています。
通訳を通すみたいに、同じ言葉(型)にそろえれば、エラーにならず動いてくれます。
int(),str()は「データ型」の通訳なんだね。
いろいろな「データ型」の仲間たち
ここまでで、数 と 文字 のちがいを見てきました。
でもPythonには、ほかにもいくつかの“性格(タイプ)”があります。
| 型の名前 | 入るデータ | 例 |
|---|---|---|
| int | 整数(細かくない数) | 10 , -3 |
| float | 小数(細かい数) | 3.14 , 0.5 |
| str | 文字のあつまり | “こんにちは” |
| bool | 〇(True)か✕(False)か | True , False |
| None | まだ何も入っていない | None |
int,float は「数字」、strは「文字」です。
bool はこの後に出て来る「if文」で登場します。
None(ナン)は「まだ何もない」ことを表す特別なデータ型です。
今回の関数
int()関数
できること
文字を数字に変換する
使い方
int( 文字)
例
- num = int(“123”)
- num = int( input(“数字を入れて”) )
- a = “12”
print( int( a ) + 10)
str()関数
できること
数字を文字に変換する
使い方
str( 文字)
例
- txt = str(“456”)
- num = “12”
print( “背番号は” + str(num) + “だ!” )
ためしてみよう!!
【1】
変数 name に好きな文字を入力して、「こんにちは〇〇〇さん」表示してみよう。
COMMAND
入力エリア
RESPONSE
実行結果
例)
こんにちはタケルさん
【2】
変数 aと、変数b で、たし算とひき算をした結果を表示しよう。
変数 a には5を、bには 10 を代入しよう。
COMMAND
入力エリア
RESPONSE
実行結果
【3】
変数 sei、変数 meiと+ を使って、「山田たろう」と表示しよう。
COMMAND
入力エリア
RESPONSE
実行結果
【4】
このプログラムはエラーになります。
12 を入力したら、「来年は13さいですね」と表示されるように直しましょう。
COMMAND
入力エリア
RESPONSE
実行結果
【5】
このプログラムはエラーになります。
「僕の背番号は23です」と表示されるように直しましょう。
COMMAND
入力エリア
RESPONSE
実行結果
🌱今回のまとめ
⭐次回予告
次回は『演算子を使いこなせ!!』だよ。
たす・ひく・くらべる・くっつける!
Pythonの「演算子」について説明するよ。