Это как-то связано с моим вопросом Почему ''> 0 True в Python?
В Python 2.6.4:
>> Decimal('0') > 9999.0
True
От ответа до моего исходного вопроса я понимаю, что при сравнении объектов различных типов в Python 2.x типы упорядочены по их имени. Но в этом случае:
>> type(Decimal('0')).__name__ > type(9999.0).__name__
False
Почему Decimal('0') > 9999.0 == True
тогда?
ОБНОВЛЕНИЕ: Я обычно работаю в Ubuntu (Linux 2.6.31-20-generic # 57-Ubuntu SMP Mon 8 февраля 09:05:19 UTC 2010 i686 GNU / Linux, Python 2.6.4 (r264: 75706, 7 декабря) 2009, 18:45:15) [GCC 4.4.1] на linux2). В Windows (WinXP Professional SP3, Python 2.6.4 (r264: 75706, 3 ноября 2009 г., 13:23:17) [MSC v.1500 32 бит (Intel)] на win32) мое первоначальное утверждение работает по-другому:
>> Decimal('0') > 9999.0
False
Теперь я еще больше озадачен. % - (