如何检查Python 2.5中的类相等?

Man*_*gan 1 python equality class python-2.5

我查看了Python 2.5文档,我找不到这个答案:如何检查一个对象是否与另一个对象是同一个类?

def IsClass(obj1, obj2):
     return obj1.class == obj2.class #doesn't work
Run Code Online (Sandbox Code Playgroud)

Sve*_*ach 12

您可以使用

type(obj1) is type(obj2)
Run Code Online (Sandbox Code Playgroud)

请注意,您通常会尝试避免使用Python进行类型检查,而是依赖于duck typing.

  • 当你关心实际类型时,你也应该考虑使用`issubclass()`或`isinsntance()`,因为在大多数情况下,当你在寻找`foo`时,你也会接受`foo`的子类. (7认同)