Weirdness comparing strings
mr.spoon21 at gmail.com
Tue Sep 30 06:58:27 EDT 2008
On Tue, Sep 30, 2008 at 12:55 PM, Ken Seehart <ken at seehart.com> wrote:
> Instance comparison is not necessarily the same as string comparison.
> Neither __str__ nor __repr__ are implicitly used at all for comparison.
Ok, I see.
> 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:
>>>> class C:
> ... pass
>>>> c = C()
>>>> d = C()
>but this does not implicitly convert self to a string. You'll have to
>do in explicitly:
>use "return str(self) == note" instead.
Yes, this works.
More information about the Python-list