indice [[appunti3s:linguaggio_python]] ====Approfondimento su Garbage Collector in Python==== Oggi sia python sia Java - non usano esplicitamente i puntatori - liberano automaticamente la memoria, usando un Garbage collector Mentre, al contrario, in C++ - si possono usare i puntatori in modo esplicito - si deve liberare manualmente la memoria usando un distruttore. Ogni oggetto occupa una definita area di memoria. Un oggetto può essere usato e modificato attraverso diverse variabili reference, ossia qualcosa simile a dei puntatori. Python **tiene il conto** di quante sono le variabili reference che usano un oggetto, e quando non ne esiste più nessuna, cancella quell'oggetto dalla memoria. Quando il programmatore non sta guardando, l'oggetto scompare. Le variabili reference (locali) esistono solo all'interno di uno "scope" o ambito di visibilità. Ad esempio, quando una funzione termina, le sue variabili locali non sono più necessarie e sono liberate.