In Python, tutto è un oggetto e tutte le variabili detengono riferimenti a questi oggetti. Un riferimento è molto simile a un puntatore in altri linguaggi di programmazione, come il C++. Tuttavia, a differenza di altri linguaggi di programmazione, in Python non si possono manipolare direttamente i puntatori.
Per esempio, se crei una lista e poi crei un’altra variabile che punta alla stessa lista, entrambe le variabili condividono lo stesso oggetto. Se modifichi la lista attraverso una delle variabili, la modifica sarà visibile anche attraverso l’altra variabile, perché entrambe si riferiscono allo stesso oggetto sottostante.
Ecco un esempio:
```
Qui, `lista1` e `lista2` sono entrambi riferimenti alla stessa lista. Quando appendiamo `4` a `lista2`, il cambiamento è visibile anche quando accediamo alla lista attraverso `lista1`.
Python gestisce automaticamente la memoria e non consente l’accesso diretto ai puntatori, rendendo il linguaggio più sicuro e facile da usare rispetto a quelli che lo consentono.