[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