0
我已经查看了Python 2.5的文档,我无法找到答案:如何检查一个对象是否与另一个对象是同一个类?如何检查Python 2.5中的类相等性?
def IsClass(obj1, obj2):
return obj1.class == obj2.class #doesn't work
我已经查看了Python 2.5的文档,我无法找到答案:如何检查一个对象是否与另一个对象是同一个类?如何检查Python 2.5中的类相等性?
def IsClass(obj1, obj2):
return obj1.class == obj2.class #doesn't work
我想你想要做的就是使用类型(obj)。 :)
-EDIT-看起来他打败了我。他对鸭子的打字是正确的。
最后一句应以粗体显示。如果减价支持,则为红色。这不能够拉伸。如果你认为你需要这样做,你最有可能不会,应该只是用鸭子搭售。 – delnan 2011-04-29 17:05:51
当你关心实际类型时,你应该考虑使用'issubclass()'或'isinsntance()',因为在大多数情况下,当你在寻找'foo'时,你也会接受'foo'的子类。 – kindall 2011-04-29 17:17:14
这已经很长时间了,但是你记得你用来测试你的答案的Python版本吗?也许你应该添加一个大的注释,答案可能不适用于其他版本。 E.g.它不适用于Python 2.7(许多系统中的默认设置,截至2016年)。但它可以与Python 3.4和3.5一起工作。 – m000 2016-09-09 15:00:49