isinstance - Python类

时间:2013-06-14 09:46:35

标签: python

我有许多类在实例化之前将我的代码作为对象传递给我。我试图以类似的方式测试类的类型,以测试对象实例的类型,以便使用哪一个。我应该提到这些类可以是彼此的子类。

不幸的是,以这种方式在类本身上使用isinstance(MyClass, MyClass)会返回False。根据docs类对象的类型为type

所以我的问题是 - 我是否有可能以与实例类型相同的方式训练类类型?我该怎么做呢?

1 个答案:

答案 0 :(得分:4)

你究竟想做什么?

如果您想知道班级A是否是班级B的子类,您可以使用issubclass

issubclass(A, B)

对于您的具体情况,您可以Myclass == MyClass甚至MyClass is MyClass

一般来说,深度内省并不是一个好主意,通常留给像Django这样的通用框架。