Здравствуйте, я пытаюсь понять, как работает Python по ссылке. У меня есть пример:
>>>a = 1
>>>b = 1
>>>id(a);id(b)
140522779858088
140522779858088
Это имеет смысл, поскольку a и b ссылаются на то же значение, что и у них. Я не совсем понимаю, как этот пример:
>>>a = 4.4
>>>b = 1.0+3.4
>>>id(a);id(b)
140522778796184
140522778796136
Отличается от этого примера:
>>>a = 2
>>>b = 2 + 0
>>>id(a);id(b)
140522779858064
140522779858064
Это потому, что в третьем примере объект 0 int рассматривается как "Нет" интерпретатором и не распознается как нуждающийся в другом идентификаторе от объекта, для которого переменная "a" ссылается (2)? В то время как во втором примере "b" добавляет два разных объекта int, и интерпретатор выделяет память для обоих этих объектов, которые будут добавлены, что дает переменную "a", другую идентификацию из переменной "b"?