\

Pythonでは、オブジェクトのデータ型を確認するためにtype()関数とisinstance()関数を使用します。

type関数

type()関数は、オブジェクトのデータ型を確認できるPythonの組み込み関数です。以下に、type()関数でデータ型を確認するサンプルコードを示します。

a = 123
b = 'Apple'
c = True
d = [1,2,3]

print(type(a)) # <class 'int'>
print(type(b)) # <class 'str'>
print(type(c)) # <class 'bool'>
print(type(d)) # <class 'list'>

type()関数の返り値は、intstrなどのtype型オブジェクトとなります。

isinstance関数

isinstance()関数を用いて、オブジェクトのデータ型を判定することができます。以下に、isinstance()関数でデータ型を判定するサンプルコードを示します。

a = 123
b = 'Apple'

print(isinstance(a, int)) # True
print(isinstance(b, int)) # False
print(isinstance(a, (int, str))) # True

isinstance()関数の第一引数には確認したいデータ型のオブジェクトを指定し、第二引数にはデータ型を指定します。

type関数とisinstance関数の使い分け

type()関数とisinstance()関数では、サブクラスに対する振る舞いが異なります。

  • type()関数で判定:サブクラスの型が一致した場合のみTrue
  • isinstance()関数で判定:スーパークラスの型が一致した場合もTrue

以下に、サブクラスに対するtype()関数とisinstance()関数の挙動を確認するサンプルコードを示します。

# スーパークラス
class Parent: pass

# サブクラス
class Child(Parent): pass

parent_a = Parent()
print(type(parent_a)) # <class '__main__.Parent'>

child_a = Child()
print(type(child_a)) # <class '__main__.Child'>
print(type(child_a) is Parent) # False
print(type(child_a) is Child) # True
print(isinstance(child_a, Parent)) # True
print(isinstance(child_a, Child)) # True

以上がPythonでオブジェクトの型を確認する方法についての記事です。この情報がPythonの学習に役立つことを願っています。

投稿者 admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です