ホームページ >バックエンド開発 >Python チュートリアル >Python isinstance はさまざまな種類の細かい詳細を決定します
1. 基本法
isinstance(object, classinfo)
object 引数が classinfo 引数のインスタンス、またはその (直接、間接、または仮想) サブクラスのインスタンスである場合は true を返します。また、classinfo が型オブジェクト (新しいスタイルのクラス) であり、 object がその型またはその (直接、間接、または仮想) サブクラスのオブジェクトである場合にも true を返します。 object がクラス インスタンスまたは指定された型のオブジェクトではない場合、関数は常に false を返します。 classinfo がクラス オブジェクトでも型オブジェクトでもない場合、クラス オブジェクトまたは型オブジェクトのタプルであるか、他のそのようなタプルが再帰的に含まれる可能性があります (他のシーケンス型は受け入れられません)。 classinfo がクラス、型、またはクラスのタプル、型、およびそのようなタプルではない場合、TypeError 例外が発生します。
classinfo はクラス、型、またはクラスと型のタプルである可能性があります。タプル、则满足タプル中のいずれか 1 つを即座に返す True
2.
文字列は、str と unicode に分けられ、どちらもbasestring
>>> isinstance(u'3.0', unicode) True >>> isinstance('3.0', str) True >>> isinstance(u'3.0', str) False >>> isinstance(u'3.0', str) False >>> isinstance(u'3.0', basestring) True >>> isinstance('3.0', basestring) True
3から継承されています。 数字の型を判断します
数字は int と float であり、二者共通の有能な父の種類です。
数字 (int または float) であるかどうかを判断するには (int, float) タプルを使用できます
>>> isinstance('3', (int, float)) False >>> isinstance(3.0, (int, float)) True >>> isinstance(3, (int, float)) True >>> isinstance(3.0, float) True >>> isinstance(3.0, int) False >>> isinstance(3, float) False >>> isinstance(3, int) True