【親子でpythonを学ぶ】データ型の一覧と確認・変換方法!!

pythonを使用している人を表す
  • URLをコピーしました!


僕自身、参考者やudemyの人気サイトなど様々なpythonの初心者向け教材を勉強しました。

たまに、初心者の頃に使った教材の中でどれが一番良かったかと聞かれます。

正直な答えとして、『どれも一緒』だと思うんですよね。

初心者なら図解してあるような分かりやすい参考書を買うと思います。

そんな初心者向けの参考書でさえ、僕の場合は『この参考書を買って良かったぁ』と感じるのは読み始めて数ページ目までです。

ページが進むに連れて、どんどん理解できなくなっていました。

しかし、pythonに限らず知識を習得しない限り、そこから前に進むことはできません。

今回は、私の経験を活かして漢字が読める小学生なら理解できる様に解説しています。

ただし、漢字が分からない小学生が多いので親御さんがフォローしてくださいね!!笑

Pythonの基礎として重要なデータ型の勉強はプログラミングスキル全体の質を高めることができますので、ぜひマスターしてください。

コードをコピーしながらでも良いですので、実際にどのような挙動を起こすのか確認しながら進めてみてください

この記事を読み終わった頃には、データ型の説明を分かりやすくpython初心者の方へ説明できるようになっているでしょう。

今回の記事の内容
  • pythonのデータ型とは?
  • データ型の種類とその説明
  • どの型か確認する方法
  • 他のデータ型へ変換してみよう!
  • 応用編 : input関数を使ったBMIの求め方
  • まとめ
タスカ

今回、コードはGoogle Colabを使用して書いています。

他のIDE(VS codeなど)を使用した場合、うまく実行できるか分かりませんので、Google Colabを使用してコードを書いてみてください。

目次

pythonのデータ型とは?

先生

こんにちは!今日はPythonというプログラミング言語で使うデータ型”について学びましょう。

データ型って何か説明できますかな?

生徒

プログラム内でどのように使われるかによって選ばれる数字とか文字とかのことですか?

以前勉強しましたが、あいまいな理解しかできませんでした。

先生

だいたい正解ですよ。

データ型は、コンピューターが理解できる『いろいろな種類の情報』のことです。

コンピューターは、データ型に基づいて、それぞれの情報をどのように扱うかを判断します。

データ型には様々な種類があるんですよ。

これらのデータ型を使うことで、コンピューターは数字を計算したり、文字を表示したり、複雑な情報を管理したりすることができます。

少し難しくいうと、『数値や文字列といった値の種類のこと』をデータ型と言います。

Pythonにはいくつかのデータ型があるので説明しますね。

主なデータ型
データ型の種類
int : 整数1, 2,- 1, -2, 100, -100
float : 小数1.5, 3.14, -0.5
str : 文字列 ‘こんにちは’, ‘バナナ’, ‘apple’
bool : 真偽値True, False

整数型(int)

先生

まずは、整数型(int)”について学んでいきましょう。

整数型とは、数える時に使う数字のことです。

例えば、手に持っている色鉛筆が5本あったら、”5″という数字を使いますよね。

それが整数型です。

生徒

じゃあ、マイナスの数も整数型ですか?

先生

そうです、とてもいい質問ですね!マイナスの数も整数型ですよ。

例えば、”-3″も整数型の一つになりますよ。

生徒

0も整数型なんですか?

先生

はい、”0″も整数型に含まれます。

つまり、整数型(int)には、正の整数、負の整数、そしてゼロが含まれるんです。

Pythonでは、これらの数字を使って、計算したり、データなどの数を数えたりすることができるのです。

生徒

なるほど、それで整数型が重要なんですね。

先生

まさにその通りです。

整数型の理解は、Pythonプログラミングの基本を学ぶ上で非常に重要です。

浮動小数点数(float)

先生

浮動小数点数(float)について学びましょう。

浮動小数点数とは、0.5, 3.14,1.5などの小数点を含む数値のことです。

生徒

先程、さっき勉強した整数型(int)と一緒で、計算するときに使われる型なんですよね?

先生

その通りです。
int と float の違いは、小数点以下の値を扱えるかどうかです。

int は小数点以下の値を扱えません。一方、float は小数点以下の値を扱うことができます。

文字列型(str)

先生

次に、Pythonにおける文字列型(str)について学びます。strは「文字列」(string)の略称です。

文字列はダブルクォーテーション(” “)またはシングルクォーテーション(’ ‘)で囲まれた任意のテキストです。

例えば、”こんにちは” や ‘Python’ などです。

生徒

文字列は、ダブルクォーテーション(” “)またはシングルクォーテーション(’ ‘)で囲まなければ使用できないのですか?

先生

はい。文字列として扱う場合は必ず、ダブルクォーテーション(” “)またはシングルクォーテーション(’ ‘)で囲ってください。

真偽値型(bool)

先生

最後に、真偽値型(bool)について学びましょう。真偽値っていうのは、ものごとが”真(ホント)”か”偽(ウソ)”かを表すものです。

例えば、外が晴れているかどうかを考えてみましょう。

下記のコード例をみてください。

この例では、”晴れている”と”雨が降っている”という変数に、それぞれ”True”と”False”を代入しています。

コード例
晴れている = True
雨が降っている = False

print("今日は晴れているかな?", 晴れている)
print("今日は雨が降っているかな?", 雨が降っている)
実行結果
今日は晴れているかな? True
今日は雨が降っているかな? False
生徒

すいません。変数って何ですか?

先生

変数は、値を保持するための名前付きの場所です。

1行目であれば、”晴れている”という名前の変数にTrueという値を入れています。

生徒

先生!
あと、print("今日は晴れているかな?", 晴れている)

というコードの説明を小学生でも分かるくらいの説明でお願いします!

先生

わかりました。

楽しくpythonを学んでいける様に、難しい言葉はできる限り使わない様に解説していきますね。

解説
  • print() は、Pythonで画面にテキストや値を表示するための特別な命令です。

    つまり、プログラム実行中に情報をモニターに表示することができる便利な方法です。()内に''””で囲って入力していきます。
  • "今日は晴れているかな?": これは文字列(テキスト)で、print() 関数によって表示されるメッセージの一部です。
  • ,: コンマは print() 関数内で異なる種類のデータを表示する際に使います。この場合、テキストと変数を区切ります。
  • 晴れている: これは変数で、プログラム内で定義されています。

    変数 晴れている の値(True または False)が表示されます。

どのデータ型か調べる方法

生徒

先生、いろいろなデータ型があるんですね!

ちょっと混乱してます。

でも、どのようなデータ型なのか分からなくなったらどうしよう!?

先生

大丈夫ですよ。

そんなときは、type関数を使用して、データ型を確認できる方法があります。

print(type(変数名))

例えば、数値が整数(int)なのか、浮動小数点数(float)なのか、または文字列(str)なのかを確認することが出来ます。

生徒

なるほど、そんな方法があれば心配ないですね!!

先生

それでは、実際に例を使ってみてみましょう。

コード例
print(type(5))

print(type(3.14))

print(type('こんにちは'))
実行結果
<class 'int'>
<class 'float'>
<class 'str'>
先生

以上の結果のように、

5intつまり整数型です。

3.14floatつまり浮動小数点数型です。

こんにちはstrつまり文字列型です。

type関数は、特に複数のデータ型を扱う複雑なプログラムを作成する際に非常に役立ちます。

データ型の変換

先生

いきなりですが、
a = 5
b = "5"
print(a + b)

の計算式があるとします。

この答えはどうなると思いますか?

生徒

簡単ではないですか!?
答えは、『10』です。

先生

答えは、『計算できない』です。

b = "5" をよく見てください。

これは、5が””で囲まれていますね。

ということは、"5"文字列型(istr型)でしたね。

一方、a=5整数型(int型)です。

pythonでは、整数型と文字列型の計算をするとエラーが起こります。

生徒

それでは、答えを『10』にするには、どうしたら計算できるのですか?

先生

それを解決するためにデータ型の変換が必要になるわけです。

それでは、実際に変換していいきましょう。

データ型の変換のコード例
a = 5  # int型
b = "5"  # str型

# 文字列のbを整数に変換
b_to_number = int(b)   # b_to_numberは「bを数字に変えたもの」という意味

print(a + b_to_number)
生徒

int()()のところに変えたい変数の値を入れて計算すれば良いんですか?

先生

その通りです👌

他の例もみてみましょうか。

整数を文字列に変換したコード例
a=5
b="5"

a_to_str = str(a)      #a=5の5をstr(a)で文字列の5に変換している

print("a_to_str + b=",a_to_str + b)
実行結果
a_to_str + b= 55     #文字列同士の足し算になるので"55"になる
浮動小数点数を整数に変換したコード例
a=3.14       # これは浮動小数点数です
b=3         # これは整数です

a_to_int=int(a)     #これで浮動小数点数を整数に変換します
  
print("a_to_int + b=",a_to_int + b)     
実行結果
a_to_int + b= 6

応用編 : input関数を使ったBMIの求め方

input関数

先生

データ型について色々お話ししてきたけど、少しはわかってくれたかな?

最後に、input関数を使って、BMIを計算できるようなプログラムを作成していきましょう。

ちなみに、BMIとは身長と体重から、体が適度な大きさかどうかを測る数字ですよ

生徒

input関数って何ですか?

また、新しい言葉が出てきました。

先生

input関数は、コンピュータに何かを入力してほしいときに使います。

例えば、名前や年齢をコンピュータに教えてあげることができるんですよ。

生徒

ユーザーに名前や年齢をたずねる際に役立つということですか?

具体的にはどのように使用するのか興味があります😀

先生

その通りです。

基本的な使い方をみてみましょう。

以下のコードは、input関数で、ユーザーに名前を質問し、ユーザーからの入力を待ちます。

答えを入力するとnameという箱(変数)に入れられ、後で使用することができます。

変数名 = input(文字列)

名前を尋ねるコード例
name = input("あなたの名前は何ですか? ")

print("こんにちは、" + name + "さん!")
生徒

このコードを実行すると、最初に名前を聞かれるんですね?

それじゃ、キーボードから『もえこ』と入力してみます。

先生

そのように入力すると、実行結果は、

あなたの名前は何ですか? もえこ
こんにちは、もえこさん!

という結果になりますね。

生徒

すごい!なんだか少し、プログラムと対話している様な気がします。

先生

それでは、もう一回『input関数』でプログラムと対話していきましょう。

今度は10年後の年齢を尋ねるようなコードを書いてみましょう。

生徒

age = input("あなたの年齢は? ")

print("10年後、あなたは " + age + 10 + " 歳になります。")

これでどうでしょうか?

先生

input関数の使い方はマスターしていますね。でも、このコードを実行したらエラーが起こりますよ。

なぜなら、input関数を使って何かを入力すると、コンピュータはその入力をいつも「文字列」として受け取るからです。

生徒

じゃあ、数字を入力しても文字列になるってことですか?

先生

その通りです!!

今回、例えばinputで「5」と入力しても、コンピュータはそれを数字の5ではなく、”5″という文字列として見るということです。

生徒

だから、計算をしたい場合は、その文字列を数字に変える必要があるってことですか?

先生

飲み込みが早いですね!!

ここは重要な点なので、しっかり理解しておく必要があります。

input関数によって受け取られたデータは、常に文字列(str型)として扱われます。

数字を入力しても、それは数字の文字列として扱われるので、必要に応じて型変換を行う必要があります。

生徒

了解です!!

それでは、正しいコードに直しますね!!

年齢を尋ねるコード例
age = input("あなたの年齢は? ")
age_int=int(age)        # 文字列を数字に変換する

# 整数を文字列に変換してから連結する
print("10年後、あなたは " + str(age_int + 10) + " 歳になります。")
先生

正解です!!よくできましたね。

ここで、注意をしないといけないのは、

print("10年後、あなたは " + str(age_int + 10) + " 歳になります。")

の部分です。

この部分をそのまま

print("10年後、あなたは " + age_int + 10 + " 歳になります。")

としてたらエラーが起きてました。

なぜだかわかりますか?

生徒

"10年後、あなたは " " 歳になります。"は文字列なのに、それに整数であるage_int + 10 を結合することはできないからです。

だから、str() 関数を用いてage_int + 10 文字列に変換しました。

先生

素晴らしいです。よく覚えていましたね。

『Pythonでは、文字列(str型)と整数(int型)を結合することはできない』ことは大事なルールでしたよね!!

BMIの求め方

先生

それでは、これまで学習したデータ型とinput関数を使用して以下の問題に挑戦してみてください。

以下のように体重(kg)と身長(cm)を自分で入力して、BMIを計算できるようなプログラムを作成してください。

身長を入力してください(cm) >
体重を入力してください(kg) >

※ BMI = 体重kg ÷ (身長m) ÷ (身長m)
解答例
h=float(input('身長を入力してください(cm)'))/100
w=float(input('体重を入力してください(kg)'))

bmi=w/h**2
print("BMI=",bmi)

まとめ

今回は、pythonの初心者の方へ向けて、『データ型』の解説をしてきました。

どれだけ、基礎を積み重ねても、考えて応用して使う場がないとなかなか身に付けることが出来ません。

今後もpythonの基礎的な記事を投稿していくことを考えていますが、応用を取り入れつつ、どうしてこの点が重要なのか小学生でも分かるように(ただし、漢字が読める小学生向けです)説明することを心がけ投稿していこうと思います。

今後も僕の記事が少しでも皆様にお役立ちできたら幸いです。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次