【Python入門】type()関数の使い方:変数の型を確認する便利ツール

こんにちは。ゆうせいです。
Pythonを学びはじめた新人エンジニアの皆さんにとって、変数の「型(かた)」を理解することはとても大切なステップです。
Pythonは動的型付け(どうてきかたづけ)の言語なので、「変数に型を明示しない」ですよね。
でもその分、「この変数、何の型だっけ?」と混乱することがよくあります。
そこで登場するのが、今回の主役 type()
関数 です!
type()
関数とは?一言で言うと…
変数や値の「型(データの種類)」を調べるための関数です。
Pythonには「整数」「文字列」「リスト」「辞書」など、いろんなデータ型(data type)がありますが、type()
を使えば、それがすぐにわかります!
さっそく例で見てみましょう!
x = 10
print(type(x)) # <class 'int'>
このコードの出力は:
<class 'int'>
つまり、x
の型は int
、整数型だということがわかります。
いろんなデータ型を type()
でチェックしてみよう
値 | 例 | type() の結果 |
---|---|---|
整数 | 42 | <class 'int'> |
小数 | 3.14 | <class 'float'> |
文字列 | "Hello" | <class 'str'> |
真偽値 | True | <class 'bool'> |
リスト | [1, 2, 3] | <class 'list'> |
辞書 | {"name": "Taro"} | <class 'dict'> |
タプル | (1, 2) | <class 'tuple'> |
セット | {1, 2, 3} | <class 'set'> |
こうして見ると、Pythonの型はすべて「クラス(class)」として定義されていることがわかりますね。
実践的な使い方:if文と組み合わせる
たとえば、「変数が文字列かどうか」を確認して処理を分けたいときは、こんなふうに書きます。
x = "こんにちは"
if type(x) == str:
print("これは文字列です")
else:
print("これは文字列ではありません")
type()
を使うときの注意点
✔ クラスの継承には isinstance()
の方が便利なことも
たとえば、親クラスと子クラスの関係があるとき、type()
は正確な型しか返さないので、派生関係を見たい場合は isinstance()
を使うほうが良いです。
class Animal:
pass
class Dog(Animal):
pass
d = Dog()
print(type(d) == Animal) # False
print(isinstance(d, Animal)) # True ← こちらの方が柔軟
まとめ:type() でできること
項目 | 説明 |
---|---|
目的 | 変数や値の型を確認する |
使い方 | type(値) またはtype(変数) |
出力 | <class '型名'> の形で返る |
注意点 | 継承関係を見るときはisinstance() が向いている |
今後の学習の指針
Pythonでは「変数の型を明示しない」自由さがありますが、その分自分で型を意識する習慣が大事になります。
今後は以下のことにチャレンジしてみましょう!
- いろんな型のデータを
type()
で調べてみる - 条件分岐(
if
)で型に応じた処理を書いてみる isinstance()
との違いを試してみる- 型ヒント(
x: int = 10
のような)と併用して、静的解析にも強いコードを書く練習をする
「型を意識する」ことは、バグの予防と読みやすいコード作成の第一歩です!
どんどん実験して、Pythonの型と仲良くなっていきましょう!
セイ・コンサルティング・グループの新人エンジニア研修のメニューへのリンク
投稿者プロフィール

- 代表取締役
-
セイ・コンサルティング・グループ株式会社代表取締役。
岐阜県出身。
2000年創業、2004年会社設立。
IT企業向け人材育成研修歴業界歴20年以上。
すべての無駄を省いた費用対効果の高い「筋肉質」な研修を提供します!
この記事に間違い等ありましたらぜひお知らせください。