[Python-Dev] decimal.py: == and != comparisons involving NaNs

Antoine Pitrou solipsis at pitrou.net
Sun Nov 8 20:01:01 CET 2009


Stefan Krah <stefan-usenet <at> bytereef.org> writes:
> 
> Are there cases where == and != are actually needed to give a result
> for NaNs?

It is a common expectation that == and != always succeed. They return True or
False, but don't raise an exception even on unrelated operands:

>>> b"a" == "a"
False
>>> "5" == 5
False
>>> {} == 0.0
False
>>> None == (lambda x: 1)
False
>>> int == max
False


The only place I know of where this expectation isn't met is when comparing
"naive" and "timezone-aware" datetime objects, which raises a TypeError (IIRC).




More information about the Python-Dev mailing list