mei_13のPython講座 ロゴ

【解説】Pythonのデータ型を基礎から理解する:初心者向けの徹底解説




🐍 初心者歓迎!月額4,000円で質問し放題のPython講座
(1時間4,000円の伴走型ビデオチャット指導も受付中!)
🚀 講座の詳細を見る 📩 質問・お問い合わせ

Pythonのデータ型を基礎から理解する:初心者向けの徹底解説


Yukiのアイコン
【Yuki】 Hirokiくん、こんにちは。今日はPythonを学ぶ上でとても大切な「データ型」について、一緒に勉強していきましょう。 プログラムを書いていると、数字を足したり、文字を表示したり、色々なことをしますよね。その一つ一つの要素がどのような種類のものなのかを区別するのが「データ型」なんです。


Hirokiのアイコン
【Hiroki】 Yukiさん、よろしくお願いします! データ型という言葉は聞いたことがありますが、なんとなく「数字」とか「文字」とか、そういう区別があるということでしょうか?


Yukiのアイコン
【Yuki】 ええ、その通りです。ただ、コンピュータは人間ほど柔軟ではないので、私たちが「これは数字だよ」「これは文字だよ」とはっきり教えてあげないと、うまく処理ができないことがあるんです。 少し難しいかもしれませんが、ゆっくり説明していくので大丈夫だと思います...。

データ型とは何か?


Yukiのアイコン
【Yuki】 まず、なぜデータ型が必要なのかを考えてみましょう。 例えば、10 + 20 という計算なら、答えは 30 になりますよね。でも、もしこれが文字の「10」と「20」だったとしたら、それをくっつけて「1020」と表示したい場合もあるかもしれません。 このように、「そのデータに対してどのような操作ができるか」を決めるのがデータ型の役割なんです。


Hirokiのアイコン
【Hiroki】 なるほど。同じ「10」でも、計算したい数字なのか、ただの文字なのかによって、コンピュータの扱いが変わるということですね。


Yukiのアイコン
【Yuki】 はい、そうです。Pythonにはいくつか主要なデータ型があります。まずは基本的なものから順番に見ていきましょう。

数値を扱う:整数型(int)と浮動小数点型(float)


Yukiのアイコン
【Yuki】 一番よく使うのは数値ですね。Pythonでは、整数を扱う「int型(整数型)」と、小数を扱う「float型(浮動小数点型)」に分かれています。

# 整数型 (int)
age = 22
count = -5

# 浮動小数点型 (float)
price = 198.5
pi = 3.14159


Hirokiのアイコン
【Hiroki】 整数と小数は別物として扱われるんですね。


Yukiのアイコン
【Yuki】 そうなんです。例えば、10 は int型ですが、10.0 と書くと float型として扱われます。 Pythonは賢いので、10 + 2.5 のように整数と小数を混ぜて計算すると、自動的に結果を float型(12.5)にしてくれるんですよ。 でも、厳密に型が分かれていることは意識しておいたほうがいいかもしれません。

文字を扱う:文字列型(str)


Yukiのアイコン
【Yuki】 次に、名前や文章などのテキストを扱う「str型(文字列型)」です。 Pythonでは、文字をシングルクォーテーション ' か、ダブルクォーテーション " で囲んで表現します。

name = "Hiroki"
message = 'こんにちは、Pythonの世界へ!'


Hirokiのアイコン
【Hiroki】 クォーテーションで囲むのを忘れるとどうなりますか?


Yukiのアイコン
【Yuki】 囲むのを忘れてしまうと、Pythonはそれを「変数名」だと勘違いしてしまって、エラーが出てしまうと思います...。 また、文字列型同士を + でつなげることもできるんですよ。

first_name = "Python"
last_name = "学習中"
full_text = first_name + last_name
# 結果は "Python学習中" になります


Hirokiのアイコン
【Hiroki】 数字の足し算とは意味が変わるんですね!


Yukiのアイコン
【Yuki】 その通りです。だからこそ、型を意識することが大切なんです。

真偽を判定する:論理型(bool)


Yukiのアイコン
【Yuki】 次は、プログラミングの条件分岐で欠かせない「bool型(論理型)」です。 これは、「True(真)」「False(偽)」の2つの値しか持ちません。

is_active = True
has_error = False


Hirokiのアイコン
【Hiroki】 「はい」か「いいえ」だけで答えるようなものですね。


Yukiのアイコン
【Yuki】 ええ。例えば「もしスコアが80点以上なら合格(True)」というような、YES/NOの判定に使います。 比較演算子を使うと、この bool型が結果として返ってくるんですよ。

score = 85
result = score >= 80
# result は True になります

複数のデータをまとめる:リスト型(list)


Yukiのアイコン
【Yuki】 ここまでは1つの値を扱う型でしたが、複数の値をまとめて管理したいこともありますよね。 そんな時に便利なのが「list型(リスト型)」です。

fruits = ["apple", "banana", "cherry"]
numbers = [1, 2, 3, 4, 5]
mixed = [10, "hello", True] # 異なる型を混ぜることもできます


Hirokiのアイコン
【Hiroki】 カゴの中に色々なものを入れているイメージでしょうか。


Yukiのアイコン
【Yuki】 素敵な表現ですね。リストの中身には、0から始まる「インデックス番号」を使ってアクセスできます。 fruits[0] と書けば、最初の "apple" を取り出すことができるんです。 リストは後から中身を書き換えたり、追加したりできるので、とても柔軟に使えますよ。

変更できないリスト:タプル型(tuple)


Yukiのアイコン
【Yuki】 リストと似ていますが、一度作ったら中身を変更できない「tuple型(タプル型)」というものもあります。 丸括弧 () で囲んで作ります。

coordinates = (35.6895, 139.6917) # 緯度と経度など


Hirokiのアイコン
【Hiroki】 どうしてわざわざ「変更できない」ものを作るんですか? 変更できたほうが便利そうな気がします。


Yukiのアイコン
【Yuki】 そう思うのも無理はありません...。 でも、プログラムを書いていると「絶対に書き換わってほしくないデータ」というのも出てくるんです。 タプルを使えば、間違えてデータを書き換えてしまうミスを防げますし、リストよりも少しだけ動作が速いというメリットもあるんですよ。

キーと値で管理する:辞書型(dict)


Yukiのアイコン
【Yuki】 次は、とても強力な「dict型(辞書型)」です。 これは「キー(名前)」と「値(中身)」をペアにして管理するものです。

user = {
    "name": "Hiroki",
    "age": 17,
    "email": "hiroki@example.com"
}


Hirokiのアイコン
【Hiroki】 本物の辞書みたいに、「単語」と「その説明」がセットになっているんですね。


Yukiのアイコン
【Yuki】 はい。user["name"] と指定すれば、"Hiroki" という値が取り出せます。 大量のデータの中から、特定の名前に関連付けられた情報を探すときには、リストよりもずっと効率的なんです。

重複を許さない:集合型(set)


Yukiのアイコン
【Yuki】 少し特殊なのが「set型(集合型)」です。 これは数学の「集合」と同じで、重複した値を持ちません。

unique_numbers = {1, 2, 3, 3, 2, 1}
# これを中身を見ると {1, 2, 3} だけになっています


Hirokiのアイコン
【Hiroki】 勝手に重複を消してくれるんですか?


Yukiのアイコン
【Yuki】 そうなんです。アンケート結果の重複を削除したり、2つのグループに共通する要素を探したりするのに便利かもしれません。 ただし、リストのように「順番」は保証されないので、そこだけ注意が必要ですね。

Pythonの大きな特徴:動的型付け


Yukiのアイコン
【Yuki】 ここで、Pythonの大きな特徴についてお話ししますね。 他のプログラミング言語(例えばC言語やJavaなど)では、変数を作るときに「この変数は整数用です!」と厳密に宣言しなければならないことが多いんです。 でもPythonは、代入された値を見て、自動的に型を決めてくれます。 これを「動的型付け」と呼びます。


Hirokiのアイコン
【Hiroki】 それは初心者にとっては楽でいいですね!


Yukiのアイコン
【Yuki】 ええ、とても書きやすいと思います。 でも、途中で違う型の値を代入することもできてしまうので、注意しないと思わぬところでエラーが出るかもしれません...。 今、変数が何の型なのかを知りたいときは、type() という関数を使うと調べることができますよ。

x = 10
print(type(x)) # <class 'int'> と表示されます

x = "Hello"
print(type(x)) # <class 'str'> と表示されます

型の変換(キャスト)


Hirokiのアイコン
【Hiroki】 さっきの「数字の10」を「文字の10」に変えたいときは、どうすればいいんでしょうか?


Yukiのアイコン
【Yuki】 いい質問ですね。その操作を「型変換(キャスト)」と言います。 それぞれの型の名前の関数を使うことで、変換できるんです。

num = 100
text_num = str(num)    # 整数から文字列へ

price_text = "500"
price_int = int(price_text) # 文字列から整数へ


Hirokiのアイコン
【Hiroki】 なるほど、int()str() で囲めばいいんですね。


Yukiのアイコン
【Yuki】 はい。ただ、int("こんにちは") のように、数字として解釈できない文字を無理やり整数にしようとするとエラーになってしまうので、そこは気を付けてくださいね。

Noneという特別な値


Yukiのアイコン
【Yuki】 最後に、「None型(NoneType)」についても触れておきます。 これは「値が何もないこと」を表すための、Python特有の特別な値です。

result = None


Hirokiのアイコン
【Hiroki】 「0」や「空の文字列」とは違うんですか?


Yukiのアイコン
【Yuki】 ええ、違います。 「0」は「0という数値」ですし、空の文字列 "" は「長さが0の文字列」です。 None は、「データそのものがまだ存在しない」とか「何も返さない」という状態を指すために使われます。 これからプログラムを組んでいくと、初期値としてとりあえず None を入れておく、といった場面によく出会うと思います。

まとめ


Hirokiのアイコン
【Hiroki】 今日はたくさんの型を学びましたね! int, float, str, bool, list, tuple, dict, set, None...。 一度に全部覚えるのは大変そうですけど、どれも重要なんだと感じました。


Yukiのアイコン
【Yuki】 そうですね、一度に完璧に覚えようとしなくても大丈夫だと思います。 実際にコードを書いていくうちに、「あ、これはリストより辞書のほうが扱いやすいな」といった感覚が自然に身についてくるはずです。


Hirokiのアイコン
【Hiroki】 少しずつ使いこなせるようになりたいです。Yukiさん、丁寧に教えてくれてありがとうございました!


Yukiのアイコン
【Yuki】 どういたしまして。Hirokiくんが一生懸命聞いてくれたので、わたしも説明しやすかったです。 もし途中でわからなくなったら、いつでも聞いてくださいね。 基礎をしっかり固めておけば、この先の学習もきっとスムーズに進むと思います。


参考資料: - Python 公式ドキュメント: 組み込み型 - Python チュートリアル: データ構造



< sys.argv
コラム一覧に戻る
secrets >

この記事では基礎を解説しましたが、実務においては「もっと複雑なデータを扱いたい」「独自のシステムに組み込みたい」といった、個別の課題に直面することも多いはずです。

「自分で書く時間は最小限に抑え、プロの品質でツールを完成させたい」という方は、ぜひ一度ご相談ください。

「教わる」だけでなく「形にする」パートナーとして、フリーランスエンジニアのmei_13が最短ルートでの解決をサポートします。

➡ ココナラで制作・相談を依頼する(見積もり無料)


初心者から始められるPythonレッスン

プログラミング未経験者・初心者歓迎!
月額4,000円で質問し放題!!
● 完全オンライン
● 翌日までには必ず返信
● 挫折しない独自の学習メソッド
● 圧倒的高評価!!
テキストベースで時間を選ばない
4,000円/60分伴走型ビデオチャット指導も可能
● 高品質なサンプルコード
詳細はこちら

📩 質問・お問い合わせはこちら



AIアシスタント Yuki