venerdì 24 gennaio 2025

Corso di Programmazione Strutturata e OOP: 5 Gestione della memoria

 


💾 Gestione della Memoria

Quando programmiamo, i dati che usiamo devono essere memorizzati da qualche parte. La memoria di un computer è il luogo dove i dati vengono temporaneamente conservati durante l’esecuzione di un programma.

Ma come funziona davvero questa memoria? Che differenza c’è tra usare una variabile o una struttura dati? Cosa significa “occupare spazio” e perché alcuni programmi sono più “pesanti” di altri?

In questo modulo entriamo nel cuore della gestione della memoria nei programmi e impariamo a scrivere codice più efficiente.

📌 Cos'è la memoria in un programma

Quando crei una variabile, ad esempio x = 5, il tuo computer riserva un piccolo spazio di memoria per contenere il numero 5. Più complesso è il dato, più memoria serve. Per esempio, una lista o un dizionario occupano più spazio di una semplice variabile intera.

📦 Variabili, strutture dati e spazio occupato

Le variabili sono come scatole con un’etichetta (il nome) e un contenuto (il valore). Le strutture dati come liste, array e dizionari sono contenitori più complessi che possono ospitare più valori insieme. Ogni elemento richiede spazio e, se non gestito bene, può rallentare l’intero programma.

🧹 Garbage Collection in Python

Python ha un meccanismo automatico chiamato Garbage Collection che si occupa di liberare la memoria non più utilizzata. Ad esempio, se crei una lista ma poi non la usi più, Python può eliminarla per risparmiare spazio. Tuttavia, non è sempre perfetto: il codice inefficiente può comunque generare sprechi.

⚠️ Errori comuni
  • Variabili non inizializzate: usare una variabile prima di darle un valore causa errori.
  • Sovrascrittura: riutilizzare lo stesso nome per una variabile può causare confusione e bug.
🔬 Attività pratiche
  • Visualizzazione: usare strumenti grafici come pythontutor.com per osservare cosa accade alla memoria durante l’esecuzione.
  • Analisi comparata: confrontare due versioni di codice – una che occupa troppa memoria e una ottimizzata – e misurarne le prestazioni.
  • Laboratorio: scrivere un piccolo programma in Python che gestisca correttamente liste e variabili per massimizzare la velocità e ridurre l’uso della RAM.

🧪 Verifica le tue conoscenze

1. Cosa fa la garbage collection in Python?

2. Cosa succede se usi una variabile non inizializzata?

3. Quale delle seguenti strutture occupa in genere più memoria?

Punteggio: 0/3

Nessun commento:

Posta un commento

Corso Fondamenti di Informatica e Reti: 6 Reti di computer e Internet

Reti di computer e Internet Introduzione Prova a pensare alla vita quotidiana senza reti informatiche: niente messaggi WhatsApp, niente m...