calendarcodediamondfacebookfingerglobalgoogleplushatenahomepagetopplainpocketrssservicetwitterwordpresshome2searchfoldernext-arrowback-arrowfirst-arrowlast-arrow

Python : isinstance()はオブジェクトの型を調べる

isinstance()はオブジェクトの型を調べる組み込み関数である。引数のチェック、関数、メソッドの戻り値を調べるときに利用する。組み込み関数の type 関数や isinstance 関数で型を調べることができる。

エンジニア速報は Twitter の@commteで 1 日 5 回配信しています。

Sponsored Link

isinstance()のポイント

isinstace(オブジェクト, クラス)
  • 第一引数に渡したオブジェクトが第二引数に渡したクラスに属していれば True を返す
  • 結果は bool 型で得ることができる

整数か調べる。

isinstance(100, int) # True

第二引数にタプルを使う。第二引数が型オブジェクトのタプルの場合、 第一引数がいずれかのインスタンスであれば True を返す。

isinstance(1, (int, str)) # True

文字型が調べる。

isinstance('a', str) # True

辞書の型を調べる。

a = {} isinstance(a, dict) # True a = {} isinstance(a, object) # True a = {} isinstance(a, int) # False

クラスを調べる。

class A: pass a = A() isinstance(a, A) # True

type() との違い

isinstance()は、サブクラスから生成したオブジェクトはスーパークラスと同じ型であると判定する。

しかし、type()は、サブクラスとスーパークラスは異なると判定する。

class A(): pass class B(A): pass a = A() b = B() isinstance(a, A) # True isinstance(b, A) # True type(a) == A # True type(b) == A # False

Python おすすめ本

スポンサード リンク

Comments

Leave a Comment

コメントする

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください