1

我创建了 2 个类 A 和 B,B 继承了 A。我正在使用 isinstance 检查 b 是否属于 a 类型并且它返回 false。不应该是真的吗?

class a():pass

class b(a):pass

print isinstance(b,a)
4

2 回答 2

5

No.btypeor的一个实例classobj而不是的实例a。您可能需要issubclass功能

>>> issubclass(b, a)
True
于 2013-09-12T19:51:46.423 回答
1

b 是类,而不是对象,因此它不是任何类的实例。要获得 True,请调用 isinstance(b(),a)

于 2013-09-12T19:53:34.173 回答