イムはいくつかのPythonのヘルプ文書を通過すると、次のコードに出くわした:でisinstance(オブジェクト、タイプ)
isinstance(object,type)
誰もが上記の文で平均入力しないかを説明できますか?
おかげで、
VineelイムはいくつかのPythonのヘルプ文書を通過すると、次のコードに出くわした:でisinstance(オブジェクト、タイプ)
isinstance(object,type)
誰もが上記の文で平均入力しないかを説明できますか?
おかげで、
Vineeltype
は、int
またはstr
として、タイプ/クラスを表すオブジェクトでなければなりません。例えば、isinstance(1, int)
はTrue
と評価され、isinstance(sys.stdin, str)
はFalse
と評価されます。 class Foo
を定義した場合は、Foo
もタイプオブジェクトです。
編集:@delnanノートとして、type
自体はisinstance('foo', type)
がfalseの間、str
は、タイプであるため、そのisinstance(str, type)
が真である、また、Pythonでのタイプです。 object
もPythonの型であり、型階層のルートです。
@vineelを読んでください:答えを更新しました。 –
thanQ ...それは私をクリア:) – vineel
object
のタイプがtype
であるかどうかを確認します。 type
変数はクラスである必要があります。
isinstance(object, classinfo)
戻り真オブジェクト引数がCLASSINFO引数の、またはその(直接、間接または仮想)サブクラスのインスタンスである場合。また、classinfoがタイプオブジェクト(新しいスタイルのクラス)であり、オブジェクトがそのタイプのオブジェクトまたはその(直接的、間接的または仮想的な)サブクラスである場合はtrueを返します。 objectがクラスインスタンスまたは指定された型のオブジェクトでない場合、関数は常にfalseを返します。 classinfoがクラスオブジェクトでもタイプオブジェクトでもない場合、クラスオブジェクトまたはタイプオブジェクトのタプルであるか、他のそのようなタプルを再帰的に含むことがあります(他のシーケンスタイプは受け入れられません)。 classinfoがクラス、型、またはそのようなタプルのタプルでない場合、TypeError例外が送出されます。
バージョン2.2で変更されました:タイプ情報のタプルのサポートは でした。引用
それはコンクリートのサンプルコードの一部、またはそれ以上の疑似コード風(たとえば署名)ましたか?または、より良い、文脈を示す。スニペットは悲しいことに両方の意味があります。 – delnan
疑問がある場合は、ドキュメント –