Ответ
Функция id(object) возвращает уникальный целочисленный идентификатор переданного объекта. В реализации CPython этот идентификатор соответствует адресу объекта в памяти.
Основные свойства:
- Уникальность: Идентификатор уникален и постоянен для объекта в течение всего времени его жизни.
- Сравнение: Оператор
isпроверяет, ссылаются ли две переменные на один и тот же объект в памяти, что эквивалентно сравнению ихid().
Пример:
list_a = [1, 2, 3]
list_b = [1, 2, 3]
list_c = list_a # list_c — это ссылка на тот же объект, что и list_a
print(id(list_a)) # Например, 140245678945600
print(id(list_b)) # Другой id, хотя значения одинаковы
print(id(list_c)) # Тот же id, что и у list_a
print(list_a is list_b) # False (id разные)
print(list_a is list_c) # True (id одинаковые)
Важно: Для небольших целых чисел и строк Python может использовать механизм интернирования (interning), когда одинаковые значения могут иметь один id, но на это не стоит полагаться в логике программы.