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