两个python对象都大于或小于彼此

时间:2015-02-10 03:04:14

标签: python oop python-2.7

我正在写一个Fractions课程,虽然搞乱我注意到了这一点:

>>> class Test:
    def __init__(self):
        pass


>>> Test()>Test()
True
>>> Test()>Test()
False

为什么会这样?

1 个答案:

答案 0 :(得分:3)

简单地说,你的比较不是直接在类的数据上,而是类本身的实例(id(Foo(1))),因为你没有明确地写它的比较。

它比较实例的id,因此有时它是真的,有时它是假的。

 Foo(1)
=> <__main__.Foo instance at 0x2a5684>
   Foo(1)
=> <__main__.Foo instance at 0x2a571c>
   Foo(1)