Pythonで変数の型を確認する方法

Pythonの変数の型とは

Pythonにおける変数の型とは、その変数が保持するデータの種類のことです。Pythonでは、数値、文字列、リスト、タプル、辞書、集合など、様々なデータ型があります。

Pythonで変数の型を確認する方法

Pythonで変数の型を確認するには、type関数とisinstance関数を使用します。

type関数の基本的な使い方

type関数は、引数で渡されたオブジェクトの型を返します。

num = 10
print(type(num)) #<class 'int'>
str = "Hello, World!"
print(type(str)) #<class 'str'>
lst = [1, 2, 3]
print(type(lst)) #<class 'list'>

isinstance関数の基本的な使い方

isinstance関数は、第一引数で渡されたオブジェクトが第二引数で渡されたクラスのインスタンスであるかどうかを判定し、TrueまたはFalseを返します。

num = 10
print(isinstance(num, int)) #True
str = "Hello, World!"
print(isinstance(str, int)) #False
lst = [1, 2, 3]
print(isinstance(lst, list)) #True

type関数とisinstance関数の違いと使用場面

type関数は、オブジェクトの型を明示的に取得する場合に使用します。一方、isinstance関数は、オブジェクトが特定のクラスのインスタンスであるかどうかを判定する場合に使用します。

例えば、isinstance関数は、特定のクラスのオブジェクトのみを処理する場合に有用です。また、type関数は、isinstance関数と同様にクラスの継承関係を考慮するため、オブジェクトがどのような型階層に属しているかを把握する場合にも有用です。

具体的なコード例で見る変数の型確認

具体的なコード例を見て、type関数とisinstance関数の使い方を確認しましょう。

# 文字列の場合
str1 = "Hello, World!"
print(type(str1)) #<class 'str'>
print(isinstance(str1, str)) #True
print(isinstance(str1, int)) #False
# 数値の場合
num1 = 100
print(type(num1)) #<class 'int'>
print(isinstance(num1, int)) #True
print(isinstance(num1, float)) #False
# リストの場合
lst1 = [1, 2, 3]
print(type(lst1)) #<class 'list'>
print(isinstance(lst1, list)) #True
print(isinstance(lst1, tuple)) #False

まとめ

Pythonでは、変数の型を確認するためにtype関数とisinstance関数を使用します。type関数は、オブジェクトの型を明示的に取得する場合に使用し、isinstance関数は、オブジェクトが特定のクラスのインスタンスであるかどうかを判定する場合に使用します。

適切にtype関数とisinstance関数を使い分けることで、より効率的なコードを書くことができます。