Alan Isaac wrote:
"Terry Reedy" <[EMAIL PROTECTED]> wrote in message
news:[EMAIL PROTECTED]
Should be in the reference manual section on comparisons.
Only to this extent:
http://www.python.org/doc/2.4/ref/comparisons.html
objects of different types always compare unequal, and are ordered
consistently but arbitrarily.
(This unusual definition of comparison was used to simplify the
definition of operations like sorting and the in and not in
operators.
In the future, the comparison rules for objects of different types
are
likely to change.)
... Most other types compare unequal unless they are the same
object;
the choice whether one object is considered smaller or larger than
another one is made arbitrarily but consistently within one
execution
of a program.
This does not provide a direct answer to "why" None comparisons.
(As far as I can tell, None is less than any object.)
However, Gary Herron's explanation makes sense: this provides a stable
sort when None is involved, and meets the criterion that objects of
different types must always compare unequal. However this would also
be true if None always compared greater than any object, and the current
behavior does not seem to be guaranteed.
Is that about right?
Cheers,
Alan Isaac
I love scripting languages ... but sometimes an explicit evaluation that
one would find in
a compiled language is better.
Which is why I suggested using the explicit type(x) == types.NoneType as
opposed to
x is None
--
http://mail.python.org/mailman/listinfo/python-list