[Python-Dev] Keep default comparisons - or add a second set?

Guido van Rossum guido at python.org
Wed Mar 15 06:16:17 CET 2006


On 12/28/05, Robert Brewer <fumanchu at amor.org> wrote:
> Noam Raphael wrote:
>  > I don't think that every type that supports equality
>  > comparison should support order comparison. I think
>  > that if there's no meaningful comparison (whether
>  > equality or order), an exception should be raised.
>
>  Just to keep myself sane...
>
>      def date_range(start=None, end=None):
>          if start == None:
>              start = datetime.date.today()
>          if end == None:
>              end = datetime.date.today()
>          return end - start
>
>  Are you saying the "if" statements will raise TypeError if start or end are
> dates? That would be a sad day for Python. Perhaps you're saying that there
> is a "meaningful comparison" between None and anything else, but please
> clarify if so.

Not to worry. My plans for Py3K are to ditch </<=/>/>= unless
explicitly defined, but to define == and != on all objects -- if not
explicitly defined, == will be false and != will be true. Types can
still override == and != to raise exceptions if they really want to
guard against certain comparisons; but equality is too important an
operation to drop. It should still be possible to use dicts with
mixed-type keys!

--
--Guido van Rossum (home page: http://www.python.org/~guido/)


More information about the Python-Dev mailing list