La funzione id() di Python

La funzione id() in Python è una funzione incorporata (built-in) che restituisce l'identificatore univoco di un oggetto specifico.

Quando crei un oggetto, il linguaggio Python gli assegna un numero univoco detto identificatore (ID) che indica l'indirizzo di memoria dove sarà conservato.

Ogni oggetto in Python ha un identificatore unico durante l'esecuzione del programma o nel corso della sessione di lavoro.

Se due variabili hanno lo stesso identificatore, vuol dire che fanno riferimento allo stesso oggetto.

Ecco un esempio pratico di come si usa.

Crea una variabile e assegnagli un valore

x = "Hello, World!"

Per conoscere l'identificatore dell'oggetto utilizza la funzione id()

print(id(x))

La funzione id(x) restituisce l'identificatore univoco dell'oggetto stringa a cui la variabile "x" fa riferimento.

In questo caso l'identificatore è il numero 139694705876528

139694705876528

Questo numero è univoco. Quindi, durante l'esecuzione del programma (o la sessione di lavoro) non viene assegnato ad un altro oggetto.

Ora crea un altra variabile "y" e assegnagli un altro valore.

y = "bye bye"

Poi visualizza l'identificatore dell'oggetto tramite la funzione id()

print(id(y))

La variabile "y" ha un identificatore diverso rispetto alla variabile "x" perché fa riferimento a un oggetto distinto.

139964847815920

Questo vuol dire che le variabili "x" e "y" fanno riferimento a indirizzi di memoria differenti.

gli oggetti fanno riferimento a due identificatori diversi

È importante notare che l'identificatore univoco restituito da `id()` non ha un significato particolare al di fuori dell'implementazione corrente di Python e può variare tra diverse esecuzioni dello stesso programma o tra diverse versioni di Python. Inoltre, non c'è nessuna garanzia che due oggetti distinti avranno identificatori univoci distinti durante tutta la loro vita. Tuttavia, è garantito che per la durata della vita di un oggetto, l'identificatore sarà univoco e costante.

Può comunque capitare che due variabili abbiano lo stesso identificatore.

Due variabili hanno lo stesso identificatore se fanno riferimento a uno stesso oggetto.

x = "Hello, World!"
y = x

In questo caso la variabile "y" fa riferimento allo stesso oggetto della variabile "x".

Quindi, se visualizzi gli identificatori dei due oggetti

print(id(x))
print(id(y))

Le funzioni id() restituiscono lo stesso numero identificatore

139694705876528
139694705876528

Questo significa che le due variabili si riferiscono allo stesso oggetto in memoria.

le variabili fanno riferimento allo stesso oggetto in memoria

Nota che l'identificativo (ID) non è l'indirizzo di memoria vero e proprio. E' solo un numero univoco che Python assegna a un'indirizzo di memoria quando definisce un nuovo oggetto.




Se qualcosa non ti è chiaro, scrivi la tua domanda nei commenti.




FacebookTwitterLinkedinLinkedin