Python isinstance() 関数
説明
isinstance() 関数は、オブジェクトが既知の型であるかどうかを判断するもので、type() に似ています。
isinstance() と type() の違い:
type() はサブクラスを親クラスの型とは見なさず、継承関係を考慮しません。
isinstance() はサブクラスを親クラスの型と見なし、継承関係を考慮します。
2つの型が同じかどうかを判断する場合は、isinstance() を使用することをお勧めします。
構文
以下は isinstance() メソッドの構文です:
isinstance(object, classinfo)
パラメータ
- object -- インスタンスオブジェクト。
- classinfo -- 直接的または間接的なクラス名、基本型、またはそれらからなるタプルを指定できます。
戻り値
オブジェクトの型が2番目のパラメータの型(classinfo)と同じ場合は True を返し、それ以外の場合は False を返します。
例
以下は isinstance 関数を使用した例です:
>>>a = 2
>>> isinstance (a,int)
True
>>> isinstance (a,str)
False
>>> isinstance (a,(str,int,list)) # タプルの中のいずれかであれば True を返す
True
type() と isinstance() の違い:
class A:
pass
class B(A):
pass
isinstance(A(), A) # returns True
type(A()) == A # returns True
isinstance(B(), A) # returns True
type(B()) == A # returns False
Python 組み込み関数