id() în Python

Funcții încorporate Python 3.0+

Returnează identitatea unui obiect: un număr unic cât timp obiectul există.

Sintaxă
id(obiect)

Ce face id()

id() returnează un întreg care identifică obiectul (în CPython, adresa lui din memorie). Două obiecte care există în același timp au id-uri diferite. Operatorul is compară de fapt id-urile.

Valoarea diferă de la o rulare la alta și poate fi refolosită după ce obiectul este șters. Folosește id() doar la depanare, pentru a vedea dacă două variabile arată spre același obiect.

Parametri

Parametru Descriere
obiect Orice obiect.

Ce returnează

Un număr întreg.

Exemple

Exemplul 1: Aceeași listă sau o copie?

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

Rezultat

True True
False False

Greșeli frecvente

  • Folosești id() ca identificator stabil (de exemplu într-un fișier). Se schimbă la fiecare rulare.

Comenzi înrudite

  • is / is not: Verifică dacă două nume arată spre exact același obiect din memorie.
  • hash(): Returnează valoarea hash a unui obiect, folosită intern de dicționare și mulțimi.
  • copy() pentru liste, dicționare și mulțimi: Creează o copie superficială (shallow) a unei liste, a unui dicționar sau a unei mulțimi.