ホームページ  >  記事  >  バックエンド開発  >  Python isinstance はさまざまな種類の細かい詳細を決定します

Python isinstance はさまざまな種類の細かい詳細を決定します

高洛峰
高洛峰オリジナル
2016-10-19 11:08:421234ブラウズ

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

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。