В Python None
меньше нуля?
ActivePython 2.7.2.5 (ActiveState Software Inc.) based on
Python 2.7.2 (default, Jun 24 2011, 12:21:10) [MSC v.1500 32 bit (Intel)] on win
32
Type "help", "copyright", "credits" or "license" for more information.
>>> None < 0
True
>>> None == 0
False
>>> None > 0
False
>>>
Ожидается ли это?
Я бы предположил, что None
будет либо равно нулю (через приведение типов), либо все эти операторы вернут False
.
TypeError: unorderable types: NoneType() < int()
- person NullUserException   schedule 12.09.2011bool
сint
(или, по крайней мере, так кажется) - person NullUserException   schedule 12.09.20110
и1
со специальными__str__
и__repr__
. Математика, логика и все остальное работают одинаково на обоих,bool
даже является подклассомint
. Это такое же неявное преобразование, как1 + 1.0
, приводящее к поплавку. - person   schedule 12.09.2011