Как создать int 1 в двух разных местах памяти?Python

Программы на Python
Anonymous
Как создать int 1 в двух разных местах памяти?

Сообщение Anonymous »

Я хочу показать кому-нибудь, как использование is вместо == для сравнения целых чисел может привести к сбою. Я думал, что это сработает, но нет:

Код: Выделить всё

>>> import copy
>>> x = 1
>>> y = copy.deepcopy(x)
>>> x is y
True
Я могу легко сделать это для больших целых чисел:

Код: Выделить всё

>>> x = 500
>>> y = 500
>>> x is y
False
Как я могу продемонстрировать то же самое с меньшими целыми числами, которые обычно могут использоваться для целей, подобных перечислению, в Python?

Подробнее здесь: https://stackoverflow.com/questions/214 ... -locations

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