On Tue, Sep 30, 2008 at 12:55 PM, Ken Seehart <ken@seehart.co mwrote:
Ok, I see.
Thanks.
Almar Klein:
Yes, this works.
Thanks.
Instance comparison is not necessarily the same as string comparison.
Neither __str__ nor __repr__ are implicitly used at all for comparison.
Neither __str__ nor __repr__ are implicitly used at all for comparison.
In fact, by default a pair of instances are not equal unless they are the
same object. To define comparison to mean something, you need to define
__cmp__ or __eq__.
>
Trivial example of default comparison:
>
... pass
...
False
True
same object. To define comparison to mean something, you need to define
__cmp__ or __eq__.
>
Trivial example of default comparison:
>
>>>class C:
...
>>>c = C()
>>>d = C()
>>>c==d
>>>d = C()
>>>c==d
>>>c==c
Almar Klein:
>but this does not implicitly convert self to a string. You'll have to
>do in explicitly:
>use "return str(self) == note" instead.
>do in explicitly:
>use "return str(self) == note" instead.
Thanks.