On Dec 15, 8:33 am, Carl Banks <[EMAIL PROTECTED]> wrote:
> On Dec 14, 4:15 pm, Neil Cerutti <[EMAIL PROTECTED]> wrote:
>
> > When implementing the rich comparison operators for some sort of
> > container, it's tempting to save code by doing something like:
>
> >  class LarchTree:
> >    ...
> >    def __gt__(self, other):
> >      # A lot of code to traverse the tree
> >    def __le__(self):
> >      return not self > other
>
> > However, if I'm thinking correctly, this is a bad idea. The
> > reasoning being that > and <= are not required to be each others
> > opposite for arbitrary value types, and may not even both be
> > supplied by the contained objects.
>
> And yet, by the same reasoning, using > and <= for list and tuple is
> also a "bad idea".

My reasoning is (I hope) that the container ought to support every
comparison operation supported by the contained objects. This can be
ensured by being careful in the implementation.

--
Neil Cerutti
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to