Почему оператор Python «IS» ведут себя неожиданно с целыми числами?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Почему оператор Python «IS» ведут себя неожиданно с целыми числами?

Сообщение Anonymous »

Почему следующее ведет себя неожиданно в Python? < /p>
>>> a = 256
>>> b = 256
>>> a is b # This produces an expected result
True
>>> a = 257
>>> b = 257
>>> a is b # Why is this False? What is happening here?
False
>>> 257 is 257 # Yet the literal numbers compare properly
True
< /code>
Я использую Python 2.5.2. Попробуя некоторые разные версии Python, кажется, что Python 2.3.3 показывает вышеупомянутое поведение между 99 и 100. Почему протекающая абстракция? Что лучше сравнить два произвольных объекта, чтобы увидеть, являются ли они одинаковыми, когда я не знаю заранее, являются ли они цифрами или нет?

Подробнее здесь: https://stackoverflow.com/questions/306 ... h-integers
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»