[Python-Dev] Keep default comparisons - or add a second set? (original) (raw)

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 daterange(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