id()

Функция id() возвращает целое число, уникальное для объекта в течение его жизни. В CPython это, как правило, адрес объекта в памяти. Полезна для проверки того, ссылаются ли две переменные на один и тот же объект.

Сигнатура

id(object)

Параметры:

  • object — любой объект.

Возвращает: целое число — идентификатор объекта.

Примеры

Базовое получение идентификатора:

x = [1, 2, 3]
print(id(x))
140234567890432

Две переменные на один объект:

a = [10, 20]
b = a
print(id(a) == id(b))
print(a is b)
True
True

Копия списка — другой объект:

a = [1, 2, 3]
b = a.copy()
print(id(a) == id(b))
False

Кэширование малых целых чисел:

x = 100
y = 100
print(id(x) == id(y))
x = 10**6
y = 10**6
print(id(x) == id(y))
True
False

Отслеживание изменения объекта:

lst = [1, 2]
before = id(lst)
lst.append(3)
after = id(lst)
print("same object?", before == after)
lst = lst + [4]
print("after concat:", before == id(lst))
same object? True
after concat: False

Примечание

Идентификатор гарантированно уникален только пока объект существует. После его удаления то же число может быть переиспользовано для нового объекта.

См. также

Примечание

Описание основано на официальной документации Python (docs.python.org), распространяемой под лицензией PSF License v2. © Python Software Foundation.