如何在Python中确定给定的对象是否为给定类型?

4

我一直认为操作符 is 用于确定给定变量是否属于给定类型。但我刚刚发现这并不正确:

>>> class A():
      pass
... 
>>> a = A()
>>> a is A
False

我该如何测试a是否为A类的类型?

请给予建议。

谢谢,Boda Cydo。


2
似乎每个新手都会引起大量重复问题涌向 SO。如果您有任何疑问,只需向右看。 - SilentGhost
2个回答

7

您想要使用isinstance(a, A)

请注意,通过向A添加方法以使其在不明确确定其为A的情况下执行所需操作可能更好地避免使用isinstance检查。

is用于确定两个对象是否是同一个对象。


补充一下Ned正确提到的,a is b与执行id(a) == id(b)是相同的。 - Jeffrey Jose


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接