Предположим, я присваиваю одно и то же значение кортежа двум переменным в оболочке 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