Le variabili in Python: cosa sono e come si usano
📅 15 giugno 2026 — di Alessandro Simone
Le variabili sono il primo mattone della programmazione: prima ancora dei cicli e delle decisioni, c'è bisogno di un posto dove mettere i dati. In Python sono semplici da usare, ma nascondono un paio di trappole che confondono quasi tutti all'inizio. In questa guida ti spiego cos'è una variabile, come si usa, quali tipi di dato esistono e quali errori evitare, con esempi presi dalla scuola.
Cos'è una variabile?
Una variabile è uno spazio in memoria dove il programma conserva un dato, dandogli un nome per ritrovarlo. L'immagine più efficace è quella di una scatola con un'etichetta: dentro la scatola metti un valore, e sull'etichetta scrivi il nome con cui richiamarla.
Per esempio, se scrivi voto = 8, stai creando una scatola etichettata "voto" e ci stai mettendo dentro il valore 8. Da quel momento, ogni volta che scrivi voto nel programma, Python va a guardare cosa c'è nella scatola e usa quel valore. Il vantaggio è enorme: non devi ricordarti il dato, ti basta ricordarti il nome.
Come si assegna un valore a una variabile?
L'operazione si chiama assegnazione e si fa con il simbolo =. Attenzione, perché qui c'è il primo equivoco: in Python l'uguale non significa "è uguale a" come in matematica, significa "metti dentro". Si legge da destra verso sinistra: prendi il valore a destra e mettilo nella scatola a sinistra.
# Creo alcune variabili e assegno loro un valore
nome = "Luca" # nella scatola "nome" metto il testo Luca
voto = 8 # nella scatola "voto" metto il numero 8
media = 7.5 # nella scatola "media" metto il numero 7.5
# Uso le variabili per costruire un messaggio
print(nome, "ha preso", voto) # Luca ha preso 8
Una variabile può anche cambiare valore durante il programma: è proprio per questo che si chiama "variabile". Se più avanti scrivi voto = 9, la scatola "voto" perde l'8 e contiene 9. L'ultimo valore assegnato è quello che conta.
Quali tipi di dato esistono in Python?
Dentro una variabile puoi mettere tipi di dato diversi, e Python capisce da solo di che tipo si tratta in base a cosa scrivi. I quattro tipi base che incontri subito sono questi:
- Interi (int): numeri senza virgola, come
voto = 8oanno = 2026. - Decimali (float): numeri con la virgola (che in Python è un punto), come
media = 7.5. - Stringhe (str): testo, sempre tra virgolette, come
nome = "Luca"omateria = "Informatica". - Booleani (bool): solo due valori possibili,
True(vero) oFalse(falso), comepromosso = True.
# Un esempio con tutti e quattro i tipi
nome = "Giulia" # stringa
voti_presi = 5 # intero
media = 6.8 # decimale
promossa = True # booleano
print(nome, "ha media", media, "- promossa:", promossa)
# Giulia ha media 6.8 - promossa: True
La distinzione tra le virgolette e i numeri è importante: "8" con le virgolette è il testo otto, mentre 8 senza virgolette è il numero otto. Sembra una sottigliezza, ma cambia tutto: sul testo non puoi fare calcoli, sul numero sì.
Come si scelgono i nomi delle variabili?
Il nome di una variabile lo scegli tu, ma ci sono regole da rispettare e buone abitudini da prendere. Le regole: il nome non può iniziare con un numero, non può contenere spazi, e non può essere una parola riservata di Python (come print o if). La buona abitudine, invece, è la più importante: usa nomi che dicono cosa contengono.
# Male: nomi che non dicono niente
x = 8
y = 7.5
# Bene: nomi chiari, il codice si legge da solo
voto_matematica = 8
media_finale = 7.5
Da docente te lo dico chiaro: un nome come x oggi ti sembra comodo, ma fra venti righe non ti ricorderai più cosa conteneva. Un nome come media_finale si spiega da solo. Scrivere codice leggibile è una delle differenze tra chi improvvisa e chi programma davvero.
Quali errori si fanno con le variabili?
Gli inciampi più frequenti che vedo con le variabili sono sempre questi, e conoscerli ti risparmia parecchia confusione:
- Confondere = con ==: un solo uguale assegna un valore (
voto = 8), il doppio uguale serve a confrontare (voto == 8chiede "il voto è 8?"). È l'errore numero uno in assoluto. - Usare una variabile non ancora creata: se scrivi
print(voto)prima di aver assegnato un valore avoto, Python dà errore perché quella scatola non esiste ancora. - Dimenticare le virgolette nelle stringhe:
nome = Lucadà errore, perché Python pensa che Luca sia un'altra variabile. Il testo va sempre tra virgolette:nome = "Luca". - Nomi poco chiari: non è un errore che blocca il programma, ma rende il codice illeggibile e pieno di bug difficili da trovare.
In sintesi
Una variabile è una scatola etichettata che conserva un dato: con = ci metti dentro un valore, e con il suo nome lo richiami quando serve. Ricorda che l'uguale significa "metti dentro", non "è uguale a", che le stringhe vanno tra virgolette, e che i nomi chiari valgono oro. Le variabili sono il punto di partenza di ogni algoritmo: una volta che sai conservare i dati, il passo successivo è imparare a scorrerli e a ripetere operazioni con il ciclo for, e a raccoglierne tanti insieme con le liste.
Domande frequenti
Cos'è una variabile in Python? +
Una variabile è uno spazio in memoria dove il programma conserva un dato, identificato da un nome. L'immagine più efficace è quella di una scatola con un'etichetta: dentro metti un valore e sull'etichetta scrivi il nome con cui richiamarlo. Ad esempio, scrivendo voto = 8 si crea una scatola chiamata "voto" che contiene il numero 8, e da quel momento usando il nome voto si recupera quel valore. Il valore può cambiare durante il programma, ed è proprio per questo che si chiama variabile. Le variabili sono il primo mattone della programmazione, perché servono a conservare e riutilizzare i dati.
Qual è la differenza tra = e == in Python? +
Un solo uguale (=) è l'operatore di assegnazione: serve a mettere un valore dentro una variabile, ad esempio voto = 8 significa "metti 8 nella scatola voto". Il doppio uguale (==) è l'operatore di confronto: serve a chiedere se due valori sono uguali, ad esempio voto == 8 significa "il voto è uguale a 8?" e restituisce vero o falso. È l'errore più comune di chi inizia: usare un solo uguale dove serve il doppio, o viceversa. La regola da ricordare è semplice: un uguale assegna, due uguali confrontano. Il confronto si usa soprattutto nelle condizioni, come dentro un if.
Quali sono i tipi di dato in Python? +
I quattro tipi di dato base che si incontrano subito sono: gli interi (int), cioè i numeri senza virgola come 8 o 2026; i decimali (float), numeri con la virgola scritta come punto, ad esempio 7.5; le stringhe (str), cioè il testo sempre racchiuso tra virgolette come "Luca"; e i booleani (bool), che possono valere solo True o False. Python riconosce automaticamente il tipo in base a come si scrive il valore, senza doverlo dichiarare. È importante distinguere il testo dai numeri: "8" tra virgolette è testo e non ci si possono fare calcoli, mentre 8 senza virgolette è un numero. Esistono anche tipi più complessi, come le liste, che raccolgono più valori insieme.
Come si sceglie il nome di una variabile? +
Il nome lo sceglie chi programma, ma ci sono regole obbligatorie e buone abitudini. Le regole: il nome non può iniziare con un numero, non può contenere spazi e non può essere una parola riservata di Python come print o if. La buona abitudine più importante è usare nomi che descrivono il contenuto: media_finale è molto meglio di x, perché rende il codice leggibile e comprensibile anche a distanza di tempo. Un nome poco chiaro non blocca il programma, ma genera confusione ed errori difficili da individuare. Scrivere codice con nomi chiari è una delle abitudini che distinguono chi programma bene da chi improvvisa.
Una variabile può cambiare valore durante il programma? +
Sì, ed è proprio questa la caratteristica che le dà il nome di "variabile". Quando si assegna un nuovo valore a una variabile già esistente, il valore precedente viene sostituito e conta solo l'ultimo assegnato. Ad esempio, se prima si scrive voto = 8 e poi voto = 9, la scatola voto conterrà 9. Questo è utilissimo nei programmi: si pensi a un contatore che cresce a ogni giro di un ciclo, o a una variabile che accumula una somma. Il valore cambia man mano che il programma procede, permettendo di tenere traccia di dati che evolvono durante l'esecuzione.
