0

Python では、オブジェクト wo (ユーザー定義) を介して統合しようとしていますが、wo.obj は別のユーザー定義オブジェクトです。通常のデータ型ではなく、クラスのインスタンスであるとどのように判断すればよいですか?

type(wo.obj)
<class '__main__.test'>

type(wo.obj) is types.InstanceType
False

type(wo.obj) is types.ClassType
False
4

1 に答える 1

3

インスタンスが特定のクラスにあるかどうかを確認するには、isinstanceを使用できます。

mc = MyClass()
isinstance(mc, MyClass) # True

注:サブクラスの場合はTrueであり、他にもいくつかの癖があります。同様の質問に対するこの回答を参照してください。

チェックするだけで、インスタンスである「ユーザー定義」クラスに関係なくtype結果が表示されます。<type 'instance'>

type(notmc).__name__ == 'instance' #True

クラスがインスタンスタイプであるかどうかをチェックすることはそれほど集中的なチェックではないように思われるので、これには何らかの形のヘルス警告が伴うはずだと思います。

于 2012-09-07T14:48:54.243 に答える