Python id () возвращает целое число, которое действует как идентификатор этого объекта.
Чтобы ответить на вопрос вкратце:
Попробуйте создать строку "AB C" с помощью нарезка.
>>> a = "ABC"
>>> id(a)
4427474416
>>> b = "ABC"
>>> id(b)
4427474416
>>> b = a[:2]+a[2:]
>>> b
'ABC'
>>> id(b)
4429072688
Для подробного объяснения
Python 3.7
>>> a = 5
>>> id(a)
4425034672
>>> b = 5
>>> id(b)
4425034672
На самом деле в python неизменных объектов ( Строки, целые числа, кортежи) хранятся в кэше, и он возвращает свое местоположение, когда мы вызвали функцию id ().
Таким образом, он возвращает тот же идентификатор для неизменяемых объектов, что и в большинстве случаев, когда они кэшируются в python как выше.
Для тех же изменяемых объектов id () возвращает разные значения.
Рассмотрим этот пример:
>>> d = { 'a' : 1 }
>>> id(d)
4426697136
>>> p = { 'a' : 1 }
>>> id(p)
4427492000
Примечание:
Он может не возвращать одинаковые значения идентификаторов для тех же неизменных объектов, которые они могут / не могут кэшировать.