Почему (0-6) -6 = Ложь? [Дубликат]
Possible Duplicate:
Python “is” operator behaves unexpectedly with integers
Сегодня я попытался отладить свой проект, и после нескольких часов анализа я получил следующее:
>>> (0-6) is -6
False
но,
>>> (0-5) is -5
True
Не могли бы вы объяснить мне, почему? Может быть, это какая-то ошибка или очень странное поведение.
> Python 2.7.3 (default, Apr 24 2012, 00:00:54) [GCC 4.7.0 20120414 (prerelease)] on linux2
>>> type(0-6)
<type 'int'>
>>> type(-6)
<type 'int'>
>>> type((0-6) is -6)
<type 'bool'>
>>>