Python 3.0 - is this true?

Robin Becker robin at NOSPAMreportlab.com
Tue Nov 11 16:23:06 EST 2008


Terry Reedy wrote:
> M.-A. Lemburg wrote:
> 
>>
>> I think the special case for None should be readded to Python 3.0.
> 
> Quick summary of thread that MAL started on Python-3000-dev list:
> 
> Once upon a time, 0 < None was true.
> 
> When rich comparisons were added, None < 0 (and *most* other things) 
> become true as an intentionally undocumented implementation detail.
> 
> The None rule only applies for sure when None controls the comparison: 
> ob < None is true or undefined if type(ob) says so.
> 
> Guido's pronouncement: "In short, I'll have None of it."
> summarizing
> 
> We're not going to add the "feature" back that None compares smaller
> than everything. It's a slippery slope that ends with all operations
> involving None returning None -- I've seen a proposal made in all
> earnestness requesting that None+42 == None, None() == None, and so
> on. This Nonesense was wisely rejected; a whole slew of
> early-error-catching would have gone out of the window. It's the same
> with making None smaller than everything else. For numbers, you can
> already use -inf; for other types, you'll have to invent your own
> Smallest if you need it.
> 
> tjr
> 
This still doesn't explain why None should not be comparable to itself.

-- 
Robin Becker



More information about the Python-list mailing list