В Python функция id() — это встроенная функция, которая возвращает уникальный идентификатор объекта. Этот идентификатор представляет собой целое число, представляющее адрес памяти объекта, по которому объект хранится в памяти компьютера.

Функция id() принимает в качестве аргумента объект и возвращает его идентификатор. Вот синтаксис функции id():

где object — это объект, идентификатор которого вы хотите получить.

Давайте рассмотрим несколько примеров, чтобы понять, как работает функция id():

В примере 1 функция id() возвращает адрес памяти целочисленного объекта x. В примере 2 функция id() возвращает адрес памяти строкового объекта y. Обратите внимание, что каждый объект имеет уникальный идентификатор.

Важно отметить, что функция id() не гарантирует возврат одного и того же значения для объекта при каждом вызове. Это связано с тем, что адрес памяти объекта может измениться во время выполнения программы. Однако для неизменяемых объектов их идентификатор останется неизменным в течение всего времени существования объекта.

Вот пример, демонстрирующий это:

В примере 3 функция id() возвращает одно и то же значение как для a, так и для b. Это связано с тем, что строка «яблоко» является неизменяемым объектом, а Python оптимизирует использование памяти, повторно используя один и тот же объект как для a, так и для b. Это называется интернированием строк.

Уникальный целочисленный идентификатор, возвращаемый функцией id(), будет одинаковым для переменных, указывающих на одно и то же значение.

Кроме того, идентификатор будет одинаковым для некоторых объектов, которые имеют постоянные значения, такие как целые числа от -5 до 256.