comparison with None

Steven Howe howe.steven at gmail.com
Thu Apr 19 02:19:39 EDT 2007


Alan Isaac wrote:
> "Terry Reedy" <tjreedy at udel.edu> wrote in message
> news:mailman.6686.1176934558.32031.python-list at python.org...
>   
>> 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


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-list/attachments/20070418/41da9126/attachment.html>


More information about the Python-list mailing list