lettura normale

Le identità degli oggetti in Python

Quando crei un oggetto nel linguaggio Python gli viene assegnato un numero di identità.

Cos'è l'identità? In Python, tutto è un oggetto, dai numeri alle stringhe, passando per le liste e le tuple. Ogni oggetto in Python ha un'identità univoca che lo distingue dagli altri oggetti. Questa identità è rappresentata da un numero intero, noto come ID dell'oggetto. Si tratta di un numero che identifica l'oggetto nel programma in modo univoco.

Per vedere l'identità di un oggetto puoi usare la funzione id()

id(oggetto)

Ti faccio un esempio pratico.

Crea due oggetti di tipo stringa e assegnali a due variabili diverse.

Chiama le variabili myVar1 e myVar2.

>>> myVar1="Hello World"
>>> myVar2="Ciao"

Digita id(myVar1) per visualizzare l'identità del primo oggetto

>>> id(myVar1)
140457824779760

Poi visualizza i'identità del secondo oggetto digitando id(myVar2)

>>> id(myVar2)
140457825312368

Le due variabili hanno lo stesso tipo di dati (stringa) ma sono due identità diverse perché sono due oggetti differenti.

La variabile myVar1 contiene la stringa "Hello World" mentre la variabile myVar2 contiene la stringa "Ciao".

Nota. Le stringhe "Hello World" e "Ciao" sono diverse. Quindi sono due oggetti diversi.

Ora crea due variabili che hanno lo stesso contenuto .

Ad esempio, assegna la stringa "Hello World" alle variabili myVar1 e myVar3.

>>> myVar1="Hello World"
>>> myVar3="Hello World"

Digita id(myVar1) per visualizzare l'identità del primo oggetto

>>> id(myVar1)
140457824779760

Digita id(myVar3) per visualizzare l'identità del terzo oggetto

>>> id(myVar3)
140457824779760

In questo caso Python restituisce la stessa identità (140457824779760) per entrambe le variabili, perché le due variabili contengono lo stesso oggetto, ossia la stringa "Hello World".

un esempio di utilizzo delle identità

A cosa servono le identità?

Le identità degli oggetti permettono a Python di gestire la memoria del computer in modo più efficiente.

Python utilizza un sistema di gestione della memoria basato su riferimenti anziché sui valori.

Pertanto, due variabili con nomi diversi possono puntare ai dati contenuti nello stesso indirizzo di memoria.

Ad esempio, le variabili myVar1 e myVar3 hanno lo stesso contenuto, la stringa "Hello World". Piuttosto che usare due indirizzi di memoria diversi, Python ne utilizza uno solo. Alle due variabili myVar1 e myVar3 è assegnato lo stesso riferimento, ossia lo stesso collegamento a un unico indirizzo di memoria.




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




FacebookTwitterLinkedinLinkedin