Python の組み込み isinstance 関数の詳細な紹介

高洛峰
リリース: 2017-03-21 09:32:20
オリジナル
2028 人が閲覧しました

英語ドキュメント:

isinstance(object, classinfo)

Return true if object 引数が classinfo 引数、またはその (直接、間接、または仮想) サブクラスのインスタンスである。 object が指定された型のオブジェクトでない場合、この関数は常に false を返します。classinfo が object 型のタプル (または再帰的に他のそのようなタプル) である場合、object がいずれかの型のインスタンスである場合は true を返します。型または型のタプル、およびそのようなタプルではない場合、TypeError 例外 が発生します。

説明:

1. function 関数は、オブジェクトが type オブジェクトのインスタンスであるかどうかを判断するために使用されます。 object パラメーター。 calssinfo パラメータは、チェックする必要があるオブジェクトを表します。

2. object パラメータが classinfo 型オブジェクトのインスタンス (または classinfo クラス オブジェクトの直接、間接、または仮想サブクラス) の場合は、True を返します。

>>> isinstance(1,int)
True
>>> isinstance(1,str)
False

# 定义3各类:C继承B,B继承A
>>> class A:
    pass

>>> class B(A):
    pass

>>> class C(B):
    pass

>>> a = A()
>>> b = B()
>>> c = C()
>>> isinstance(a,A) #直接实例
True
>>> isinstance(a,B)
False
>>> isinstance(b,A) #子类实例 
True
>>> isinstance(c,A) #孙子类实例
True
ログイン後にコピー

3. 型オブジェクトでオブジェクトパラメータを渡した場合、常に False が返されます。

>>> isinstance(str,str)
False 
>>> isinstance(bool,int)
False
ログイン後にコピー

4. classinfo 型オブジェクトが複数の型オブジェクトから構成されるタプルであり、object object がタプル内のいずれかの型オブジェクトのインスタンスである場合は True を返し、それ以外の場合は False を返します。

>>> isinstance(a,(B,C))
False
>>> isinstance(a,(A,B,C))
True
ログイン後にコピー

5. classinfo 型オブジェクトが型オブジェクト、または複数の型オブジェクトから構成されるタプルではない場合、エラー (TypeError) が報告されます。

りー

以上がPython の組み込み isinstance 関数の詳細な紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート