カテゴリ: Python 更新日: 2026/01/05

Pythonで型を調べる方法!初心者でもわかるtype()とisinstance()の違いと使い方をやさしく解説

Pythonで型を調べる方法!type()・isinstance()の違いと使い方を解説
Pythonで型を調べる方法!type()・isinstance()の違いと使い方を解説

先生と生徒の会話形式で理解しよう

生徒

「Pythonでデータの“型”ってどうやって調べるんですか?」

先生

「Pythonでは、type()関数やisinstance()関数を使って、変数がどんな型なのか確認できますよ!」

生徒

「その2つってどう違うんですか?どっちを使えばいいのか迷います…」

先生

「では、これからtype()isinstance()の使い方や違いを、ゆっくり丁寧に見ていきましょう!」

1. Pythonで型を調べるとは?

1. Pythonで型を調べるとは?
1. Pythonで型を調べるとは?

Python(パイソン)では、変数や値にはそれぞれ「型(データ型)」があります。たとえば、数字はint型、文字列はstr型、リストはlist型などです。

型を調べることで、「この変数に何が入っているのか?」をプログラムの中で確認したり、間違いを防いだりできます。

2. type()関数の使い方

2. type()関数の使い方
2. type()関数の使い方

type()関数は、変数や値の型をそのまま表示してくれる関数です。

例を見てみましょう:


x = 123
print(type(x))

<class 'int'>

このように、type()を使うと「これはint型です」と教えてくれます。

他にもいろいろな型を調べてみましょう。


print(type("こんにちは"))   # 文字列
print(type(3.14))         # 小数
print(type([1, 2, 3]))     # リスト

<class 'str'>
<class 'float'>
<class 'list'>

3. isinstance()関数の使い方

3. isinstance()関数の使い方
3. isinstance()関数の使い方

isinstance()は、「この値はこの型かどうか?」を確認する関数です。

ちょっと例えて言うなら、「このフルーツはリンゴですか?」と聞いて「はい」「いいえ」で答えてくれる感じです。


name = "Splat"
print(isinstance(name, str))  # 文字列か?

True

True(本当)またはFalse(違う)が返ってきます。これは「条件分岐」などに使うととても便利です。

4. type()とisinstance()の違い

4. type()とisinstance()の違い
4. type()とisinstance()の違い

それでは、type()isinstance()の違いをまとめてみましょう。

項目 type() isinstance()
戻り値 型オブジェクト TrueまたはFalse
目的 型そのものを知る 型かどうか確認する
使い方 type(x) isinstance(x, 型)
応用性 限定的 継承・複数型対応

5. isinstance()の便利な使い方

5. isinstance()の便利な使い方
5. isinstance()の便利な使い方

isinstance()は、複数の型をまとめて確認することも可能です。


value = 10.5
print(isinstance(value, (int, float)))  # intかfloatならTrue

True

このように(型, 型)の形で複数書けば、「どれかに当てはまるか?」を調べられます。

6. type()で比較するときの注意点

6. type()で比較するときの注意点
6. type()で比較するときの注意点

プログラム中で「この型と完全に一致するか?」を調べるにはtype()==を組み合わせる方法もあります。


data = [1, 2, 3]
if type(data) == list:
    print("これはリストです")

これはリストです

ただし、type()による比較は厳密すぎることがあり、継承したクラスなどには対応できません。その点、isinstance()はより柔軟に判定してくれます。

7. 型を調べるのはいつ使う?

7. 型を調べるのはいつ使う?
7. 型を調べるのはいつ使う?

初心者にとって、型を調べるタイミングは次のような場面です:

  • ユーザーが入力したデータが数字か文字かを確認したいとき
  • 関数の引数がリストかどうか確認したいとき
  • エラーが出たときに、何の型が入っているか調べたいとき

型の確認は、バグ(エラー)を未然に防ぐためにもとても役立つスキルです!

まとめ

まとめ
まとめ

Pythonで変数の型を調べる方法として登場したtype()関数とisinstance()関数は、どちらもプログラムの安全性や可読性を高めるために欠かせない重要な機能です。特に、複数のデータがさまざまな型を持つPythonでは、型を正しく理解し判断することが、エラーを防いだり、処理を最適化したりするための大きな助けになります。今回の記事では、それぞれの特徴を整理しながら使い方や注意点を詳しく学んできました。

type()関数は、「この変数はどんな型か?」を知りたいときにもっとも直感的に使える方法です。値そのものの型を正確に返してくれるため、デバッグの際にも非常に役立ちます。一方で、型を厳密に比較すると継承関係を無視してしまうため、サブクラスを含むような場面では注意が必要です。コードの途中で「型が一致しているかどうか」だけを判断したい場合には便利ですが、応用性という点では少し限定されます。

反対に、isinstance()関数は、型を柔軟に判定できる強力な機能を持っています。「この値はこの型の仲間か?」という視点でチェックするため、サブクラスにも対応し、より幅広い場面で活用することができます。また、複数の型を同時に判定できる特性から、ユーザー入力のチェックや、引数の型が一定範囲に収まっているかどうかを確認する場面でとても便利です。型の安全性を高めたいときや、エラーを防ぎたい処理の直前にisinstance()を使うことで、条件分岐を明確にしながら保護できます。

さらに、Pythonのプログラムでは文字列、リスト、辞書など多くのデータ型を扱うため、型判定は日常的に発生します。たとえば、ユーザーが入力した内容が数字なのか文字列なのかによって処理を変える場合、type()isinstance()は必ず必要になります。また、デバッグ中にエラーの原因を探る際にも、「この変数に入っている型は何か?」を確認することが重要で、型を調べる技術が大きく役立ちます。

今回の学びを定着させるために、記事の内容を総まとめしたサンプルコードを以下に掲載します。Pythonで型を調べる際の基礎がひと目で理解できる構成になっていますので、ぜひ参考にしてみてください。


# type()とisinstance()をまとめて確認するサンプルコード

values = [123, "こんにちは", 3.14, [1, 2, 3]]

for v in values:
    print("値:", v)
    print("type()の結果:", type(v))

    # 各型の確認
    if isinstance(v, int):
        print("→ これは整数です")
    elif isinstance(v, str):
        print("→ これは文字列です")
    elif isinstance(v, float):
        print("→ これは小数です")
    elif isinstance(v, list):
        print("→ これはリストです")
    print("--------------")

このように、Pythonでは型を意識しながらプログラムを書くと安全性が高まり、エラーを未然に防ぐための大きな助けになります。今回紹介したtype()isinstance()はこれからの学習でも頻繁に登場する機能ですので、ぜひ違いを明確に理解して、使いこなせるようになってください。特に、柔軟な判定ができるisinstance()は、型チェックにおいて非常に頼りになる存在です。

Pythonのデータ型を理解することは、この先の学習にもつながる大切なステップです。リストや辞書、タプルなどを扱うときには、型の性質をしっかり押さえることで処理のイメージもつかみやすくなります。実際に手を動かして、いろいろなデータ型に対してtype()isinstance()を試してみることで、より深い理解につながるでしょう。

先生と生徒の振り返り会話

生徒

「type()とisinstance()の違いがようやくわかってきました!どちらを使うべきか迷っていたんですが、用途が違うんですね。」

先生

「その通りです。type()はその値の型を正確に知りたいとき、isinstance()は柔軟に型を判定したいときに使うのが向いています。」

生徒

「複数の型をまとめてチェックできる機能が便利だと思いました。入力の確認で役立ちそうです。」

先生

「その気づきはとても大切ですよ。実際のプログラムでも複数型を許容するケースは多いので、うまく活用してください。」

生徒

「今回の内容を理解したら、エラーの原因も調べやすくなりそうです。型を意識することが大事なんですね。」

先生

「その通りです。型を理解すれば、Pythonの動きをより深く知ることができ、トラブルの予防にもつながりますよ。」

この記事を読んだ人からの質問

この記事を読んだ人からの質問
この記事を読んだ人からの質問

プログラミング初心者からのよくある疑問/質問を解決します

Pythonで変数の型を調べるにはどんな方法がありますか?

Pythonではtype()関数やisinstance()関数を使うことで、変数がどのデータ型なのかを確認できます。初心者でも簡単に使える方法です。
カテゴリの一覧へ
新着記事
New1
Python
Pythonのfrozensetとは?ミュータブルなsetとの違いをわかりやすく解説
New2
Python
Pythonでセットを活用してデータをフィルタリングする方法!初心者でもわかるセットの基本と使い方
New3
Python
Pythonの辞書操作まとめ!初心者が知っておくべき便利ワザ集
New4
Python
Pythonの辞書から複数のキーを一括で削除する方法!delや辞書内包表記のテクニック
人気記事
No.1
Java&Spring記事人気No1
Python
Pythonの文字列から一部を抽出する方法!スライスを使った基本的な切り出し方
No.2
Java&Spring記事人気No2
Python
Pythonの文字列を1文字ずつ処理する方法!for文やlist化の活用例
No.3
Java&Spring記事人気No3
Flask
FlaskアプリのSECRET_KEYの設定方法を完全ガイド!初心者でもわかるセキュリティ対策
No.4
Java&Spring記事人気No4
Django
Djangoモデル入門|初心者が最初に知るべきORMの基本操作
No.5
Java&Spring記事人気No5
Flask
Flaskで非同期処理を成功させるベストプラクティス集|初心者でも失敗しない考え方
No.6
Java&Spring記事人気No6
Flask
Flaskでデータベースを使う基本!SQLAlchemyの導入方法をやさしく解説
No.7
Java&Spring記事人気No7
Python
Pythonのリストを分割する方法を完全ガイド!初心者でもわかるスライス・split・itertoolsの使い方
No.8
Java&Spring記事人気No8
Django
Djangoプロジェクトのディレクトリ構造を完全解説!初心者でも迷わないフォルダの見方