Кортеж ведет себя по-разному при использовании id() в оболочке IDLE и файле .pyPython

Программы на Python
Ответить
Anonymous
 Кортеж ведет себя по-разному при использовании id() в оболочке IDLE и файле .py

Сообщение Anonymous »

Предположим, я присваиваю одно и то же значение кортежа двум переменным в оболочке IDLE и сравниваю их id()

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

>>> a = (1,2,3)
>>> b = (1,2,3)
>>> id(a) == id(b)
False
Это дает false, как и ожидалось, но если я запустил его эквивалент в файле .py

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

a = (1,2,3)
b = (1,2,3)
print(id(a) == id(b))
Это дает результат True.
Хотя, если я сравниваю наборы, я получаю False, как и ожидалось

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

a = {1,2,3}
b = {1,2,3}
print(id(a) == id(b))
Пожалуйста, объясните, почему сравнение идентификаторов двух одинаковых кортежей дает разные результаты в IDLE и файле .py (или с этим сталкиваюсь только я). Я использую Python 3.12.4


Подробнее здесь: https://stackoverflow.com/questions/798 ... nd-py-file
Ответить

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

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

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

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

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