Python入門コースプログラミング

【絶対わかる】第4回 データ型【Python入門コース】

スポンサーリンク

 

白黒つけようぜ!くまねこ(@kumanecoblog)です。
今日もPython捗っていますか?

Python入門コース第4回は「データ型」について説明していきます。
一緒に頑張っていきましょう!

この記事で「ものにできる」スキル
  • データ型の違いがわかる
  • 違うデータ型を一緒に使える
スポンサーリンク

はじめに(このコースが初めての方向け)

このコースは、実際に手を動かしながら進めていくことを推奨しています。

なので、あなたのパソコンに今からPythonを使えるようにしてもらいます。

急に難しそう!簡単で易しいって聞いていたのに・・・

無理!嘘つき!

大丈夫です。安心してください。
このコースではGoogle Colaboratoryを使うことを推奨しています。
Google Colaboratoryの詳しい説明はこちらに説明があります。
5分くらいで読めるのでサクッと読んでみてください。

簡単に言うと、Google Colaboratoryを使うと「準備なしで、誰でも10秒でPythonを始められる」からです。

「Pythonわかる!楽しいかも!」と思ってもらうこともこのコースの目的の一つです。
なのでまずPythonに触れてほしいです。
難しい・複雑な環境構築はあとでやりましょう!

Google Colaboratoryの始め方はこちらを参考にしてください。

スポンサーリンク

1. データ型とは

1.1 簡単に言うと

データ型とは、「データの種類」のことです。
「文字列」と「数値」という単語。前回までで何度も目にしましたよね。あれらのことをデータ型と言います。

1.2 このデータ型はなにかを伝える

僕たちは一目見ただけで、「これは文字列だな」「これは数値」と判断できます。というか無意識で理解してますよね。
しかし、プログラミングの世界では「これは文字列ですよ」「これは数値ですよ」と伝えてあげる必要があります。
まだなにも知らない赤ん坊に教えているつもりで丁寧に伝えてあげてください。

1.3 Pythonは自動で判断してくれる

ただPythonさんは、「これが文字列だよ」と伝えなくても、

Pythonさん
Pythonさん

クオーテーションで囲まれているからデータ型は文字列だな

と自動で判断してくれます。
データ型は指定しなくてもいいですが、クオーテーションのような合図は送ってあげる必要があります。

このようなプログラミング言語のことを「動的型付け言語」と言います。

スポンサーリンク

2. データ型の種類

Pythonでよく使われるデータ型の8種類をご紹介します。

データ型種類説明
str文字列クオーテーションで囲まれたもの“こんにちは!” , “8 + 3”
int整数小数点のない数値1 , 10 , 100 , 1000
float浮動小数点小数点がある数値3.14
bool真偽値(ブール)True(真)かFalse(偽)のどちらを判断するTrue, False
list配列(リスト)1つの変数で複数の値を中に入れる
(詳しいことは別の記事で)
list = [“こんにちは!”, 10, True]
tupleタプル1つの変数で複数の値を中に入れる
(詳しいことは別の記事で)
tuple = (“こんにちは!”, 10, True)
dict辞書1つの変数で複数の値を中に入れる
(詳しいことは別の記事で)
dict = {‘Key1′ : ’10’, ‘Key2’ : ‘100’}
datetime日付日付dt = datetime.datetime.now()

こんなの全部一回で覚えられるかー!!!

急にこんなに出されたら、そうなりますよね。僕なら信じられないくらい怒ります。

なので、今回がこの中から入門コースにふさわしい3つをご紹介します。

今回紹介するデータ型3つ
  • str型:文字列
  • int型:整数
  • float型:小数点がある数値
くまねこ君
くまねこ君

この3つさえ扱えるようになれば、他のデータ型も自然と使えるようになるよ

3. データ型を確認してみよう

データ型は確認することはできます。type関数を使うことで出力されます。
データ型の確認方法とそのデータの簡単な特徴をお伝えします。

3.1 データ型の確認方法


type関数を使うことでデータ型を確認することが出来ます。使い方はとても簡単です。
type()と書いて、その()の中に変数を入れるだけです。

3.1.1 str型:文字列

まずは文字列を確認します。
変数に文字列を代入します。その変数のタイプを確認しまう。

test_1 = "こんにちは"
type(test_1)

記述出来たら[Shift]+[Enter]で実行しましょう。

無事出力されました。「str」型ということが確認できました。
文字列はもう何度も登場してくれているクオーテーションで囲むことで指定できます。

Google Colaboratory以外でtype関数を使う時は「print(type(test_1))」と書かないと出力されないので気を付けてください。

3.1.2 int型:整数

続いて整数です。
やり方は同じです。変数に整数を代入してください。

test_2 = 100
type(test_2)

記述出来たら[Shift]+[Enter]で実行しましょう。

無事出力されました。「int」型ということが確認できました。
整数なので、-2, -1, 0, 1, 2…と言った数です。小数点や分数は含みません。

3.1.3 float型:浮動小数点

浮動ってなに?

と思ったみなさん。僕も気になりました。調べたところによると

ふ‐どう【浮動】 の解説
[名](スル)一定の場所に定まらないでただよい動くこと。

goo辞書

よくわかりませんね!僕はこれだけだとよくわかりませんでした。
とにかく今は小数点のことだと思ってください。
詳しい説明は別記事でご紹介します。

test_3 = 3.14
type(test_3)

記述出来たら[Shift]+[Enter]で実行しましょう。

無事出力されました。「float」型ということが確認できました。
整数とは違い、小数点を含む数の時にはfloat型となります。

3.2 クイズ!これは何型?

さて!今回学ぶデータ型は以上3つです。
ここで、いくつかデータ型のクイズを出します。
答えを予想しながら実際に実行して答えを確認してみてください。

(1)このデータ型はなんでしょう?

quiz_1 = -10

quiz_1 = -10
type(quiz_1)

(2)このデータ型はなんでしょう?

quiz_2 = 3 / 2

quiz_2 = 3 / 2
type(quiz_2)

(3)このデータ型はなんでしょう?

name = “名前”
age = “年齢”
quiz_3 = name + age 

name = "名前"
age = "年齢"
quiz_3 = name + age
type(quiz_3) 

何問正解できましたか?このクイズを理解できたあなたは次のデータ型の変更方法も軽々突破できること間違いなしです!
今回もあと少しです。一緒に頑張りましょう。

4. データ型の変換方法

「int型→str型」や「str型→float型」など、データ型は変更することが出来ます。
なぜ必要なのかなども含めてお伝えします。

4.1 違うデータ型を一緒に使う

なぜ、データ型を変更する必要があるのかというと
違うデータ型は一緒に使うことが出来ない」からです。

実際に見てみましょう。始めにお伝えします。エラーが出ます。

bamboo = 5
print("笹は"+ bamboo + "つです。")

記述出来たら[Shift]+[Enter]で実行しましょう。

宣言通りエラーがでました。
[TypeError]が出ました。エラー内容を読んでみると、

Pythonさん
Pythonさん

「+」を使って連結できるのは str型だけだよ
int型はダメだよ!

と書いてあります。Pythonさんから注意されてしまいました。

なので、この違うデータ型を一緒に使うためにデータ型の変更が必要です。

4.2 実際にデータ型を変更してみよう

データ型を変更させると聞くと、なんだか難しいことをやるようなイメージをしてしまいますが、「なんのデータ型からどのデータ型に変更する」ということが分かっていれば簡単にできます。

そのためにも、3.1のデータ型を確認する方法が必要だったわけです。

4.2.1 int型(整数)→ str型(文字列)

整数から文字列に変更する場合は「str(変更したい変数名)」で変更できます。
上の例を使うと、str(bamboo)で変更完了です。

え!!!これだけ?!?!

これだけです。簡単に感じるのは、ここまでであなたが「なにをどうしたいか」が明確だったからです。これはすごい成長です。
では実際に見てみましょう。

bamboo = 5
print("笹は"+ str(bamboo) + "つです。")

記述出来たら[Shift]+[Enter]で実行しましょう。

何事もなかったかのように、出力されました。
int型(整数)をstr関数に代入することでstr型(文字列)に変更できました。

4.2.2 float型(浮動小数点)→ str型(文字列)

手順は同じです。float型の変数をstr関数に代入するだけです。

weight = 50.5
print("笹の重さは" + str(weight) + "gです。")

実際にやってみて確認してみてください。

4.2.3 str型(文字列)→ int型(整数)/ float型(浮動小数点)

クオーテーションで囲まれた整数や小数点は文字列と判断されます。
なので、これらは計算することはできません。

実際に見てみましょう。

num = "10"
print(num + 5)

エラー内容は数値と文字列を連結させようとした時と同じことが書いてあります。

変更の仕方は先ほどまでのやり方の逆をやるだけです。
int関数に変更したい変数を代入するだけです。

num = "10"
print(int(num) + 5)

何事もなかったかのように、計算ができました。

以上がデータ型の変更方法でした。
色々と試して馴染ませてください。

レベルアップ応用:文字列を整数に変更するのはどんな時?

文字列のデータ型を変更のやり方自体は、先ほどまでと同じくint関数やfloat関数に代入するだけでしたが、こんな疑問を持つ方もいるのでしょうか。

文字列を数字にするのって、どこで使うの?

僕はそう思っていました。
文字列を数値にするは、なかなか想像できませんよね。

そもそも数値をクオーテーションで囲まなければいいじゃん!と思っていました

4.応用.1 「1」であって「1」じゃない

では、どんな時に使うのでしょうか?

それは、「ユーザーから入力した数値を受け取ったとき」です。
例えば、僕たちがよく目にしているこんなもの。

これは「1」に見えて「1」ではありません。
・・・なにを言っているかわからないという感じですが、Pythonから見るとこの「1」は文字列の「いち」なのです。

つまり計算ができません。

そんな時に「いち(str型の文字列)」→ 「1(int型の整数)」に変更する必要があります。

4.応用.2 実際に見てみよう

どういうことなのか、実際に見てみましょう。
例題でこれを使います。

この4860円の笹を買う時、入力した数量で合計いくらになるかを計算ができるプログラムを作ります。

#笹の値段
bamboo_price = 4860

# input を用いて入力を受け取り、変数 input_count に代入してください
input_count = input("購入する笹の本数は?:")

# input_count を数値として代入してください
total_price = bamboo_price * int(input_count)

print("合計金額は" + str(total_price) + "円です")

input関数とは、変数 = input(“表示させたい文字列”) の形で、入力された文字列を変数に代入できる関数です。
詳しくは次回以降ご紹介します。

コピペで実行してみても動きますので実際に試してみてもOKです。
実行結果はこのような感じです。

入力画面が現れるので、購入する本数を入力します。
今回は「5」にします。
もちろん実際には買えません。

無事、合計金額が表示されます。

つまり、input関数で入力された数字は文字列として受け取りPythonに渡されます。
これが、str型(文字列)→int型(整数)の変換が必要な場合です。

4.応用.3 試しにint関数を使わないとどうなるか

試しに、int関数を使わないとどうなるかをやってみましょう。

bamboo_price = 4860
input_count = input("購入する笹の本数は?:")

# input_count にint関数を使わなかった場合
total_price = bamboo_price * input_count

print("合計金額は" + str(total_price) + "円です")

パニックです。こうなるので、やはり変換が必要です。

4.応用.4 文字→数値はもちろんエラー

ちなみに「こんにちは」などの文字列をint型に変更しようとするとエラーが起こります。

これは、想像通りというか文字を数字にってなんだよってことを人間もPythonも思うということでしょうね。

5. データ型まとめ

お疲れ様でした!最後の応用はかなりボリューミーになってしまいました。1回で100%を理解できなくて大丈夫です。何回も繰り返していくうちに理解度が高まります。一緒に頑張っていきましょう!

今回「ものにできた」スキル
  • データ型のstr型、int型、float型
  • データ型の表示方法
  • それぞれの特徴
  • データ型の変換方法
    • (おまけでinput関数)←詳しくは次回以降

6. 今回の練習問題

今回はここまでです!お疲れ様でした。
グイ―っと背中を伸ばしたら、最後に練習問題をしましょう。今日の知識をさらに定着させちゃいましょう。
今回はコードをコピペして、穴埋め解答して実行してください。
もちろん一から書いても大丈夫です。

くまねこ君
くまねこ君

今日は大変だったから、少しだけ楽したいかなって思って・・・

【練習問題】

(1)変数numに6.5を代入して、変数numのデータ型を表示させてください。
(2)変数total_priceが出力できるようにしてください。
(3)変数total_priceを使って「この笹は500円です」と表示させてください。

#(1)変数numに500を代入して、変数numのデータ型を表示させてください。
num = 
print()
#(2)変数total_priceが出力できるようにしてください。
price = "500"
count = 3
total_price =  * count
print(total_price) 
#(3)変数total_priceを使って「この笹は500円です」と表示させてください。
print("この笹は" +  + "円です")
#(1)変数numに500を代入して、変数numのデータ型を表示させてください。
num = 500
print(type(num))
#(2)変数total_priceが出力できるようにしてください。
price = "500"
count = 3
total_price = int(price) * count
print(total_price) 
#(3)変数total_priceを使って「この笹は500円です」と表示させてください。
print("この笹は" + str(total_price) + "円です")

次回

練習問題お疲れ様でした!ついに最終回!お伝えするのは「if文」です。
プログラミング界の花形のif文です。
一見難しそうな印象ですが、基本的には中学の時習った「if:もし~なら」と同じです。
まもなくPython入門を終える時が近づいてきました。
最後まで一緒に頑張っていきましょう!

次回も詳しく易しく簡単に説明していきます。お楽しみに!

なにか分からないことがあればTwitterのDMにてご連絡ください。
「こんな簡単な事聞いちゃってもいいのかな」と心配することはありません。
どんなことでもお気軽にご連絡ください!
「できた!」など嬉しいことはコメント欄などのオープンなところでぜひ教えてください。

よりよいプログラミングライフを!

この記事が少しでも役立ててもらえたらうれしいです。
今回も最後まで読んでいただき、本当にありがとうございました!

コメント

タイトルとURLをコピーしました