はじめに
プログラミングの学習で、「データ型(Data Type)」という言葉が出てきて、「これって一体何のことだろう?」と悩んでいませんか?
ご安心ください。この記事を読み終える頃には、あなたは以下のことがわかり、プログラミングの理解が一段と深まっているはずです。
- 「データ型」の役割が比喩でわかる
- なぜ「データ型」が必要なのかがわかる
- 「データ型」の基本的な使い方と、よくあるエラーがわかる
まずは基本!データ型って一体なんだろう?
プログラミングにおける「データ型」とは、「データがどんな種類の情報なのかを示すもの」です。つまり、「これは数字」「これは文字」「これは真偽(True/False)」といったデータの性質を表します。
比喩で例えるなら…
「データ型」はデータの入れ物のラベルのようなものです。たとえば、ペットボトルには水、缶にはジュース、箱にはお菓子が入るように、プログラムでも「数値型」には数字、「文字列型」には文字を入れます。ラベルが違えば、扱い方も変わるのです。
「データ型」の基本的な使い方
基本構文
x = 10 # 整数型
name = "Taro" # 文字列型
flag = True # ブール型
Pythonでは、変数に値を代入するだけで、その値の種類に合わせてデータ型が自動的に決まります。
int x = 10; // 整数型
String name = "Taro"; // 文字列型
boolean flag = true; // ブール型
Javaでは、変数を使う前に、「この変数には、これからこういう種類のデータを入れます」と、データ型をはっきりと宣言する必要があります。
具体的なコード例
price = 1000
item = "リンゴ"
print(item + "の値段は" + str(price) + "円です")
出力:
リンゴの値段は1000円です
ここで、price
は数値型、item
は文字列型です。str(price)
のように「型を変換」することで異なる型同士を結合できます。
なぜ『データ型』が必要なの?
もし「データ型」がなかったら…
x = "10"
y = 5
print(x + y) # エラー!
コンピュータは、+
という記号を見ても、文字として連結したいのか、数値として足し算したいのかを判断できません。「文字列の"10"
」と「数値の5
」という異なる種類のデータをどう扱えばよいか分からず、エラーになってしまうのです。
「データ型」を使うとこう改善される!
x = 10 # 数値型
print(x + 5) # OK!
型を正しく扱うことで、エラーが減り、意図した通りに動くプログラムを書けるようになります。
初心者がやりがちなミスと注意点
陥りやすい誤解
「数字のように見える文字列も足し算できる」と思っていませんか?
# 文字列として結合される
print("10" + "5")
# 実行結果:105
# 数値として足し算される
print(10 + 5)
# 実行結果:15
このように、" "
(ダブルクォーテーション)で囲まれているかどうかで、コンピュータの解釈が全く変わってしまいます。
よくあるエラー
TypeError:can only concatenate str (not "int") to str
原因:文字列と整数を直接足そうとした。
対策:str()
やint()
などを使って型をそろえてから操作する。
まとめ:この記事のポイント
- 「データ型」は一言でいうと「データの種類を表すラベル」!
- 「データ型」を理解すると、計算や文字列操作が正しくできる!
- 型の違いによるエラーに注意しよう!
これも知っておくと便利!データ型の仲間たち(関連用語)
- 基本データ型(Primitive / Basic Types):データ型の基礎中の基礎。変数や演算、条件分岐に必須。
- 変数(Variable):データ型を「格納する箱」として使うものです。
- 定数(Constant):変数と同じく値を格納しますが、値を変更できません。
【コラム】少しだけ「データ型」の裏側を覗いてみよう
PythonやJavaScriptのような言語では、変数の型をプログラムが実行時に自動で判断します(動的型付け言語)。一方、C言語やJavaのような言語では、コードを書く時点であらかじめ変数の型を決めておく必要があります(静的型付け言語)。
age = 20 # 自動で整数型
name = "Taro" # 自動で文字列型
int age = 20; // 整数型を明示
String name = "Taro"; // 文字列型を明示
型を明示することでエラーを防ぎやすくなる一方、柔軟性はやや下がります。どちらの型付け方式にも一長一短があるため、学ぶ言語によって扱い方を覚えていきましょう。