Pythonのデータ型完全ガイド!数値・文字列・リスト・辞書の違いを解説
生徒
「Pythonを勉強していたら、『データ型』って出てきたんですけど、なんのことかよくわかりません…」
先生
「Pythonのデータ型は、数字や文字、リストや辞書といった情報の『種類』のことです。パソコンが『これは数字なのか?文字なのか?』を理解するために必要なんですよ。」
生徒
「情報の種類ですか…。具体的にどう違うんですか?」
先生
「じゃあ今回は、代表的なデータ型である『数値』『文字列』『リスト』『辞書』について、初心者にも分かりやすく説明していきましょう!」
1. Pythonのデータ型とは?初心者向けにやさしく解説
Pythonのデータ型(data type)とは、パソコンが「この情報は数字なのか、文字なのか、どんな種類のデータなのか」を理解するための指標のようなものです。データ型が決まっていることで、Pythonはそのデータに合った処理を正しく実行できるようになります。
たとえば、数字なら計算ができ、文字なら文章として扱うことができます。反対に、データ型を意識しないまま使うと、思ったように動かない原因にもなるため、プログラミングを始めたばかりの人ほど早い段階で理解しておくと役立ちます。
次のサンプルは「数字」と「文字列」という異なる種類のデータ型を簡単に比べられる例です。
# 数字の例(計算ができる)
a = 5
b = 7
print(a + b) # 12
# 文字列の例(文章として扱われる)
text1 = "5"
text2 = "7"
print(text1 + text2) # "57" 文字としてつながる
同じ「5」と「7」でも、数字として扱うのか文字列として扱うのかによって結果が大きく変わることがわかります。このように、データ型はプログラミングの基礎を理解するうえでとても重要な考え方なのです。
2. 数値型(int・float)とは?計算に使えるデータ型
数値型は、足し算や引き算などの計算をするときに使う、Pythonの基本的なデータ型です。テストの点数や商品価格、個数や回数など、現実の世界で「数字」として扱うものをプログラムの中で表現したいときに使われます。
Pythonには、整数を扱う「int型(整数型)」と、小数を扱う「float型(浮動小数点型)」の二つがよく使われます。ふだんの生活でも「10個」「3.14キロ」などと表現するのと同じように、Pythonの中でも整数と小数を区別して扱います。
x = 10 # int型(整数)…たとえば「りんごが10個」のような数量
y = 3.14 # float型(小数)…たとえば「円周率3.14」や「3.5時間」など
これらの数値型の変数は、四則演算(+、−、×、÷)にそのまま使うことができます。電卓で計算する感覚に近いので、プログラミング未経験の人でもイメージしやすい部分です。
print(x + y) # 足し算
print(x - y) # 引き算
print(x * y) # 掛け算
print(x / y) # 割り算
13.14
6.86
31.400000000000002
3.1847133757961785
同じ「10」でも、整数として使うのか、小数として扱うのかで意味合いが少し変わります。たとえば個数や回数のように「割り切れないとおかしいもの」はint型、料金や平均値のように「途中の細かい数値も知りたいもの」はfloat型が向いています。
もう一つ、日常生活をイメージした簡単なサンプルを見てみましょう。商品価格と消費税から、支払う合計金額を計算する例です。
price = 120 # 商品の価格(整数)
tax_rate = 0.1 # 消費税率(小数)
total = price + price * tax_rate
print(total)
132.0
この例では、価格は整数、税率は小数として扱っています。計算結果は「132.0」のように小数で表示されますが、「合計金額を計算できた」という感覚は電卓と同じです。Pythonの数値型に慣れてくると、家計の計算やゲームのスコア計算など、身近な場面でもすぐに応用できるようになります。
3. 文字列型(str)とは?言葉や記号を表すデータ型
文字列型(str)は、文章や名前、記号など「人が読むための情報」を扱うためのデータ型です。英語だけでなく日本語や記号、数字を含んだ文章もそのまま文字列として保存できます。Pythonでメッセージを表示したり、ユーザーの入力した名前を画面に出したりするときには、この文字列型を使う場面がとても多くなります。
文字列は、"ダブルクォーテーション"または'シングルクォーテーション'で囲んで書きます。どちらを使っても基本的な動きは同じなので、最初は好きな方を使って問題ありません。
name = "Python" # ダブルクォーテーションで囲んだ文字列
greeting = 'こんにちは' # シングルクォーテーションで囲んだ文字列
さきほどの数値型と違い、文字列は「計算するため」ではなく「つなげて文章を作るため」によく使われます。文字列同士は、+を使うことで一つの長い文章にまとめることができます。
message = greeting + "、" + name + "!"
print(message)
こんにちは、Python!
このように、短い言葉を組み合わせて一つのメッセージを作れるのが文字列型の特徴です。実際のプログラムでは、「ユーザー名 + さん、ようこそ」「商品名 + は残り〇個です」のように、決まった文章に変数を差し込んで表示する場面がよくあります。
もう少しイメージしやすいように、「名前」と「あいさつ文」を組み合わせるサンプルを見てみましょう。
user_name = "太郎"
hello = "こんにちは"
result = hello + "、" + user_name + "さん"
print(result)
こんにちは、太郎さん
このサンプルでは、user_nameの中身を変えるだけで、あいさつ文を別の人向けに簡単に変えることができます。同じ仕組みで、メール本文やチャットメッセージ、画面に表示する案内文なども柔軟に作成できます。
文字列型のポイントは、「数字の見た目をしていても、文字列として扱えば計算はされず、そのまま文字としてつながる」という点です。数値型との違いを意識しながら、いろいろなメッセージを表示して試してみると、Pythonの文字列の扱い方に自然と慣れていくはずです。
4. リスト型(list)とは?複数のデータをまとめて扱える型
リスト型は、複数の値をまとめて管理できるデータ型です。箱の中にいくつもデータを入れて、ひとまとめにするイメージです。
fruits = ["りんご", "バナナ", "みかん"]
リストの中のデータは、[](角カッコ)で囲んで、,(カンマ)で区切ります。
特定のデータを取り出すには、番号(インデックス)を使います。番号は0から始まります。
print(fruits[0]) # 最初の要素
りんご
5. 辞書型(dict)とは?名前と値をペアで管理できる型
辞書型(dict)は、「名前」と「値」のセットを保存するデータ型です。まるで「電話帳」のように、名前を使って情報を探せます。
person = {
"名前": "太郎",
"年齢": 25,
"職業": "エンジニア"
}
辞書型は、{}(中カッコ)で囲み、キー: 値の形で書きます。キーを使って値を取り出すことができます。
print(person["職業"])
エンジニア
6. データ型の確認方法とtype関数
Pythonでは、変数のデータ型を調べるために、type()関数を使います。
x = 123
print(type(x))
<class 'int'>
これで、変数がどんなデータ型なのか確認できます。
7. データ型の変換方法(キャスト)について
Pythonでは、あるデータ型から別のデータ型へ変換することもできます。これを型変換(キャスト)といいます。
たとえば、数字を文字列に変えたいときには、次のようにします。
age = 20
text = str(age)
print("年齢は" + text + "歳です")
年齢は20歳です
str()で数値を文字列に変換できます。逆にint()で文字列を数値に変えることもできます。
まとめ
Pythonのデータ型を総合的に整理しよう
Pythonのデータ型は、数字、文字列、リスト、辞書といった多様な情報を正しく扱うための重要な仕組みです。数値型は計算に利用され、文字列型は言葉や記号の操作に役立ち、リスト型は複数のデータを順番に管理でき、辞書型は名前と値を組み合わせた情報管理に向いています。それぞれの特徴を理解することで、プログラムの設計がスムーズになり、思い通りの処理を実現しやすくなります。また、Pythonでは型変換やtype()による確認も簡単に行えるため、データの整形や処理の幅が広がる点も大きな魅力です。
特に初心者の段階では、実際のプログラムの中でどのデータ型がどのように振る舞うのかを確かめながら学ぶことが大切です。たとえば数値型では四則演算や数学的処理を行い、文字列型では結合や分割といったテキスト操作が可能になります。リスト型は繰り返し処理やデータの一括管理に向いており、辞書型はキーを用いた高速な検索に適しています。こうした性質を組み合わせることで、Pythonは柔軟で表現力の高いプログラミングを実現しています。
さらにデータ型を理解することは、ファイル処理、Web開発、データ分析、機械学習といった応用的な分野でも非常に重要です。たとえばWeb APIから取得したデータは辞書型やリスト型で返されることが多く、適切に扱うためにはそれぞれの型の特徴を深く理解しておく必要があります。また、ユーザー入力の型変換や整形なども実務で頻繁に行われるため、型の扱いに慣れておくことで開発効率が大幅に向上します。
サンプルプログラム:複数のデータ型を扱うクラス例
学んだ内容を活用して、複数のデータ型をまとめて扱うクラスの例を紹介します。記事と同じようにclassを使いながら、文字列・数値・リスト・辞書を扱うサンプルです。
class DataSummary:
def __init__(self, name, scores):
self.name = name # 文字列(str)
self.scores = scores # リスト(list)
def average(self):
total = sum(self.scores) # 数値型(int, float)
return total / len(self.scores)
def to_dict(self):
return {
"名前": self.name,
"平均点": self.average() # 辞書(dict)
}
student = DataSummary("太郎", [80, 90, 75])
print(student.to_dict())
このように、Pythonのデータ型は単体で使うだけでなく、組み合わせることでより複雑な処理を自然に書くことができます。リストで複数の点数を管理し、数値型で平均を計算し、辞書型でまとめて返すという構造は、現実のプログラムでも非常によく利用される形です。データ型の理解が深まるほど、より柔軟で見通しの良いコードを書けるようになります。
また、データ型を意識してコードを書く習慣は、エラーの早期発見にもつながります。型の違いによる思わぬバグを防ぐためにも、変数の中にどの型が入っているかを常に意識し、必要に応じてtype()やstr()などによる型変換を行うことが大切です。データ型はプログラミングの基礎でありながら、実務でも頻繁に活用する非常に重要な概念です。
生徒
「きょうの内容で、数値型や文字列型の違いがすごくはっきりしました。特にリストと辞書の使い分けが分かってきた気がします。」
先生
「よく理解できていますね。情報をまとめたいときはリスト、名前をつけて整理したいときは辞書、と覚えておくと判断がしやすくなりますよ。」
生徒
「型変換も思ったより簡単でした。str()やint()を使えば、扱いやすい形に変えられるんですね。」
先生
「その通りです。Pythonは型変換が柔軟なので、入力データの整形や処理前の準備をしやすいのが特徴です。」
生徒
「サンプルコードで複数のデータ型を組み合わせた例も、とても参考になりました。実際のアプリでも同じように組み合わせて動かすんですね。」
先生
「ええ、現場でもよく使われる考え方です。今日学んだデータ型の特徴をしっかり覚えておくことで、もっと複雑なプログラムにも挑戦しやすくなりますよ。」
生徒
「これからリストの操作や辞書の応用もどんどん練習して、もっとPythonに慣れていきたいです!」
先生
「とても良い姿勢です。データ型を理解しておくと、Pythonの面白さがさらに広がりますよ。」