Il concetto di variabile è presente in tutti i linguaggi di programmazione, tuttavia sussitono delle differenza che dipendono dallo specifico linguaggio.
Nel caso del linguaggio C una definizione consistente potrebbe essere la seguente:
Una variabile è un nome simbolico che consente di fare riferimento ad un'aria di memoria nella quale può essere memorizzato un dato. Le variabili sono tipizzate e pertanto una variabile può contenere solo dati di un tipo specifico (intero, float, char ecc,).
La metafora utilizzata per illustrare il concetto di variabile è quello della scatola:
Ogni scatola ha un nome simbolico e può contenere uno specifico tipo di dato.
In C, in corrispondenza della dichiarazione
int x, y;
possiamo immaginare che si creino le due scatole rappresentate in figura:
(Per essere precisi le "scatole" dovrebbero contenere "qualcosa" già al momento della dichiarazione).
In corrispondenza delle assegnazioni
x=41;
y=53;
la rappresentazione evolve nel seguente modo:
Infine, dopo l'assegnazione
y=x;
si ha:
Nel caso di Python la definizione cambia nel seguente modo:
Una variabile è un nome simbolico che referenzia un oggetto, contenente un dato, posizionato nella memoria del computer.
Nel tempo una variabile può essere aggiornata e referenziare oggetti strutturalmente diversi.
La metafora utilizzata per rappresentare questi concetti richiede l'utilizzo di più elementi: le scatole questa volta rappresentano gli oggetti mentre le variabili sono rappresentate tramite figurini.
In corrispondenza dell'assegnazione
x = 41
è creato un oggetto (l'intero 41) ed è assegnato alla variabile x un suo riferimento.
A seguito dell'assegnazione
y = x
la rappresentazione è la seguente:
Dopo l'ulteriore assegnazione
y = 53
si ha:
A seguito dell'assegnazione
x = "XYZ"
si ha la seguente evoluzione:
Notare che l'oggetto corrispondente al numero 41 non è più referenziato da nessuna variabile. Questa condizione è utilizzata da Python per stabilire quando un oggetto può essere cancellato dalla memoria.
Sito: 7ecnologie
Sezione: 09. Python
Capitolo: 02. Introduzione a Python
Paragrafo: 01. Primi passi
Approfondimento: 02. Variabili e oggetti
Indice dei capitoli: 00. Risorse - 01. Ambiente di sviluppo - 02. Introduzione a Python - 03. Accesso al DB - 04. La libreria tkinter - 05. Tutorial - 98. Esercizi
Indice dei paragrafi: 01. Primi passi - 02. Funzioni input() e print() - 03. Liste - 04. Tuple - 05. Operatori e conversione di tipi - 06. Dizionari - 07. Insiemi - 08. Il ciclo for - 09. Gestione delle eccezioni - 10. Definizione di funzioni - 11. Parametri delle funzioni
Indice degli approfondimenti: 01. Style guide: esempi - 02. Variabili e oggetti