Variabili e tipi di dato

Bentornato.
Nella lezione precedente hai installato Python, aperto il terminale, creato il tuo primo file .py e usato print().
Molto bene.
Hai detto a Python:
print("Hello, World!")
E Python ha obbedito.
Un bellissimo inizio.
Ma ora ci serve qualcosa di più utile.
Stampare testo è bello.
Ma i programmi veri devono ricordare cose.
Nomi.
Età.
Prezzi.
Punteggi.
Username.
Percorsi dei file.
Se qualcosa è vero o falso.
Ed è qui che entrano in scena le variabili.
Le variabili permettono al programma di salvare valori e usarli più tardi.
Senza variabili, il tuo programma avrebbe la memoria di un pesce rosso dopo un aggiornamento di sistema.
Non ideale.
Cosa imparerai
In questa lezione imparerai:
- cosa sono le variabili;
- come creare variabili in Python;
- come stampare variabili;
- come cambiare il valore di una variabile;
- come funzionano le stringhe;
- come funzionano gli interi;
- come funzionano i float;
- come funzionano i booleani;
- come controllare i tipi di dato con
type(); - come dare nomi chiari alle variabili;
- errori comuni dei principianti;
- come fare pratica con dati semplici.
Alla fine di questa lezione capirai come Python salva informazioni di base.
Questo è un passo enorme.
Perché quando il tuo programma può ricordare valori, può iniziare a fare cose utili.
Piccola memoria.
Grande potere.
Molto Python.
Cos’è una variabile?
Una variabile è un nome che salva un valore.
Esempio:
name = "Anna"
Qui:
name
è la variabile.
E:
"Anna"
è il valore.
Il simbolo = significa:
salva questo valore in questo nome
Quindi questa riga significa:
Salva "Anna" dentro la variabile chiamata name.
Ora Python ricorda che name significa "Anna".
Molto utile.
Molto semplice.
Molto pericoloso se chiami tutto cosa.
La tua prima variabile
Crea un file:
variables.py
Scrivi:
name = "Anna"
print(name)
Eseguilo:
python variables.py
oppure:
python3 variables.py
Output:
Anna
Python non stampa la parola name.
Stampa il valore salvato dentro name.
Questo è il senso delle variabili.
La variabile è come un’etichetta su una scatola.
Il valore è ciò che sta dentro la scatola.
Molto ordinato.
Molto utile.
Diversamente da alcuni cassetti reali in alcune case reali.
Le variabili possono salvare valori diversi
Puoi creare più variabili:
name = "Anna"
age = 25
city = "Rome"
print(name)
print(age)
print(city)
Output:
Anna
25
Rome
Qui salviamo:
- testo in
name; - un numero in
age; - testo in
city.
Python ricorda ogni valore.
Poi print() li mostra.
Il tuo programma non sta più solo urlando testo fisso.
Ora può salvare informazioni.
È apparso un piccolo cervello.
Rispettalo.
Cambiare il valore di una variabile
Una variabile può cambiare.
Esempio:
name = "Anna"
print(name)
name = "Marco"
print(name)
Output:
Anna
Marco
Prima name salva "Anna".
Poi lo sostituiamo con "Marco".
Il vecchio valore scompare da quella variabile.
Python non diventa emotivo.
Non dice:
Ma Anna era qui prima.
Aggiorna semplicemente il valore.
Molto freddo.
Molto efficiente.
Molto computer.
L’ordine conta
Python esegue il codice dall’alto verso il basso.
Esempio:
name = "Anna"
print(name)
name = "Sofia"
print(name)
Output:
Anna
Sofia
Al primo print(name), il valore è "Anna".
Al secondo print(name), il valore è "Sofia".
Python non guarda nel futuro.
Esegue riga per riga.
Come un treno molto obbediente.
Di solito puntuale.
A meno che il tuo codice deragli.
Stringhe
Una stringa è testo.
Le stringhe si scrivono dentro le virgolette.
Esempio:
name = "Anna"
city = "Rome"
message = "I am learning Python"
Puoi stamparle:
print(name)
print(city)
print(message)
Output:
Anna
Rome
I am learning Python
Le stringhe possono usare virgolette doppie:
name = "Anna"
Oppure virgolette singole:
name = 'Anna'
Entrambe funzionano.
Ma non mischiarle.
Sbagliato:
name = "Anna'
Python si lamenterà.
E questa volta Python ha ragione.
Le virgolette devono combaciare.
Una stringa è come una valigia.
Se la apri con una chiusura e provi a chiuderla con un’altra, inizia il caos.
Le stringhe possono contenere spazi
Le stringhe possono contenere spazi:
full_name = "Anna Rossi"
message = "Python is very useful"
print(full_name)
print(message)
Output:
Anna Rossi
Python is very useful
Tutto ciò che sta dentro le virgolette fa parte della stringa.
Spazi inclusi.
Python non rimuove gli spazi perché si sente ordinato.
Python conserva ciò che scrivi.
Molto letterale.
Molto fedele.
A volte troppo fedele.
Numeri: interi
Un intero è un numero senza decimali.
Esempio:
age = 25
year = 2026
quantity = 10
Gli interi non hanno bisogno di virgolette.
Corretto:
age = 25
Questo è diverso:
age = "25"
Il primo è un numero.
Il secondo è testo.
Gli esseri umani vedono entrambi come 25.
Python vede due cose diverse.
Python non si lascia impressionare dalla somiglianza visiva.
Python vuole i tipi.
Piccolo contabile severo.
Numeri: float
Un float è un numero con la virgola decimale, ma in Python si scrive con il punto.
Esempio:
price = 19.99
temperature = 21.5
height = 1.75
I float sono utili per prezzi, misure, medie e molti altri valori.
Esempio:
price = 19.99
print(price)
Output:
19.99
Dettaglio importante:
price = 19.99
usa il punto.
Non la virgola.
Corretto:
price = 19.99
Sbagliato:
price = 19,99
In Python, i numeri decimali usano il punto.
La virgola ha altri significati.
Python non si preoccupa del fatto che nel tuo paese i prezzi si scrivano diversamente.
Python ha le sue regole in cucina.
Booleani
Un booleano è un valore che può essere:
True
oppure:
False
Esempio:
is_student = True
is_admin = False
print(is_student)
print(is_admin)
Output:
True
False
I booleani sono molto utili per prendere decisioni.
Idee esempio:
L’utente ha fatto login?
Il file è disponibile?
La password è corretta?
Il prodotto è disponibile?
I booleani sono semplici.
Ma potenti.
Come un interruttore.
Acceso.
Spento.
Nessuna discussione filosofica.
True e False devono avere la maiuscola
In Python, i booleani si scrivono così:
True
False
Sbagliato:
true
false
Python non li capirà come booleani.
Python è case-sensitive.
Questo significa che maiuscole e minuscole contano.
Questi sono diversi:
True
true
TRUE
Solo questo è corretto:
True
Lo stesso vale per:
False
Python è educato.
Ma qui non accetta ortografia creativa.
Controllare i tipi con type()
Python può dirti che tipo ha un valore.
Usa type().
Esempio:
name = "Anna"
age = 25
price = 19.99
is_student = True
print(type(name))
print(type(age))
print(type(price))
print(type(is_student))
Output:
<class 'str'>
<class 'int'>
<class 'float'>
<class 'bool'>
Questo significa:
str stringa
int intero
float numero decimale
bool booleano
type() è utile quando non sei sicuro del tipo di valore che hai.
Molto utile durante il debugging.
E il debugging è lavoro da detective con più caffè.
Quattro tipi di dato base
Per ora, ricorda questi quattro:
str testo
int numero intero
float numero decimale
bool True o False
Esempi:
name = "Anna" # str
age = 25 # int
price = 19.99 # float
is_active = True # bool
Questi tipi di dato sono ovunque.
Li userai continuamente.
Sono come gli ingredienti base della cucina Python.
Testo.
Numeri.
Decimali.
Verità.
Una ricetta strana.
Ma funziona.
Stampare testo e variabili insieme
Puoi stampare testo e variabili insieme usando le virgole:
name = "Anna"
age = 25
print("Name:", name)
print("Age:", age)
Output:
Name: Anna
Age: 25
È semplice e utile.
print() può accettare più valori separati da virgole.
Python aggiunge automaticamente gli spazi tra loro.
Molto gentile.
Per una volta.
Usare f-string
Un modo molto comune per combinare testo e variabili è usare una f-string.
Esempio:
name = "Anna"
age = 25
print(f"My name is {name}.")
print(f"I am {age} years old.")
Output:
My name is Anna.
I am 25 years old.
La f prima delle virgolette significa:
Questa stringa può includere variabili dentro le parentesi graffe.
Esempio:
f"My name is {name}"
Python sostituisce:
{name}
con il valore della variabile.
Le f-string sono molto utili.
Molto leggibili.
Molto Python.
Usale spesso.
Il tuo io futuro approverà.
Calcoli semplici con le variabili
Le variabili possono essere usate nei calcoli.
Esempio:
price = 10
quantity = 3
total = price * quantity
print(total)
Output:
30
Qui Python calcola:
10 * 3
e salva il risultato in:
total
Poi stampiamo total.
Molto utile.
Questo è l’inizio della vera logica di programmazione.
Piccolo negozio.
Piccolo calcolo.
Grande concetto.
Altri esempi di calcolo
Prova:
a = 10
b = 5
print(a + b)
print(a - b)
print(a * b)
print(a / b)
Output:
15
5
50
2.0
Puoi anche salvare i risultati:
a = 10
b = 5
sum_result = a + b
difference = a - b
product = a * b
division = a / b
print(sum_result)
print(difference)
print(product)
print(division)
Questo è più chiaro quando i programmi crescono.
I nomi chiari contano.
Perché il tuo io futuro non vuole risolvere un mistero chiamato:
x = a * b
Il tuo io futuro ha già sofferto abbastanza.
Aggiornare un numero
Puoi aggiornare una variabile usando il suo vecchio valore.
Esempio:
score = 10
score = score + 5
print(score)
Output:
15
Questo significa:
Prendi il vecchio valore di score.
Aggiungi 5.
Salva il nuovo valore di nuovo in score.
È molto comune.
All’inizio può sembrare strano.
In matematica sarebbe strano.
In programmazione è normale.
Il simbolo = in Python significa assegnazione.
Non “è uguale per sempre”.
Significa:
metti questo valore in questa variabile
Molto importante.
Sintassi più corta per aggiornare
Python ha un modo più breve:
score = 10
score += 5
print(score)
Output:
15
Questo:
score += 5
significa:
score = score + 5
Puoi anche usare:
score -= 2
score *= 3
score /= 2
Non preoccuparti troppo ora.
Sappi solo che questa sintassi esiste.
Gli sviluppatori Python la usano spesso.
Perché, a quanto pare, risparmiare qualche carattere ci fa sentire potenti.
Regole per i nomi delle variabili
I nomi delle variabili devono seguire regole.
Nomi buoni:
name = "Anna"
user_age = 25
product_price = 19.99
is_active = True
Regole:
- usa lettere, numeri e underscore;
- non iniziare con un numero;
- non usare spazi;
- non usare keyword di Python;
- i nomi sono case-sensitive.
Sbagliato:
2name = "Anna"
user age = 25
product-price = 19.99
Questi non funzioneranno.
I nomi delle variabili in Python devono essere validi.
Python non è flessibile su questo.
Nemmeno se glielo chiedi gentilmente.
Usa nomi chiari
Male:
x = "Anna"
y = 25
z = 19.99
Meglio:
name = "Anna"
age = 25
price = 19.99
I nomi chiari rendono il codice più facile da capire.
Questo conta più di quanto pensino i principianti.
Un programma viene letto più spesso di quanto venga scritto.
Soprattutto da te.
A mezzanotte.
Dopo aver dimenticato cosa hai scritto.
Quindi non punire il tuo io futuro.
Usa buoni nomi.
Snake case
In Python, i nomi delle variabili di solito usano snake_case.
Esempio:
first_name = "Anna"
last_name = "Rossi"
user_age = 25
product_price = 19.99
Snake case significa:
parole minuscole separate da underscore
Così:
very_clear_variable_name
Si chiama snake_case perché sembra un serpente.
Un serpente molto organizzato.
Dato che siamo in Python, sembra appropriato.
Case sensitivity
Python è case-sensitive.
Queste sono variabili diverse:
name = "Anna"
Name = "Marco"
NAME = "Sofia"
print(name)
print(Name)
print(NAME)
Output:
Anna
Marco
Sofia
Python le vede come tre nomi diversi.
Ma per favore non farlo nel codice reale.
È confuso.
Il codice confuso è il posto dove i bug costruiscono appartamenti.
Usa uno stile chiaro.
Preferisci:
name
non:
Name
NAME
nAmE
Il tuo codice non è una lettera di riscatto.
Errore comune: usare una variabile prima di crearla
Sbagliato:
print(name)
name = "Anna"
Python esegue dall’alto verso il basso.
Alla prima riga, name non esiste ancora.
Quindi Python si lamenta:
NameError: name 'name' is not defined
Corretto:
name = "Anna"
print(name)
Crea prima la variabile.
Usala dopo.
Molto semplice.
Molto importante.
Come mettere le scarpe prima di uscire.
Di solito consigliato.
Errore comune: dimenticare le virgolette attorno al testo
Sbagliato:
name = Anna
Python pensa che Anna sia una variabile.
Ma non abbiamo creato una variabile chiamata Anna.
Corretto:
name = "Anna"
Il testo ha bisogno di virgolette.
I nomi delle variabili no.
Confronta:
name = "Anna"
print(name)
Questo stampa:
Anna
Le virgolette creano testo.
La variabile lo salva.
Poi print(name) mostra il valore salvato.
Molto pulito.
Molto Python.
Errore comune: confondere numeri e stringhe
Guarda questo:
age = 25
Questo è un intero.
Ora questo:
age = "25"
Questo è una stringa.
Non sono la stessa cosa.
Prova:
age = "25"
print(type(age))
Output:
<class 'str'>
Anche se sembra un numero, Python lo tratta come testo perché è dentro le virgolette.
Questo conta.
Molto.
Soprattutto quando fai calcoli.
Esempio: una stringa non può essere usata come numero
Prova:
age = "25"
next_year = age + 1
print(next_year)
Questo produrrà un errore.
Perché?
Perché age è testo.
Python non può aggiungere il numero 1 al testo "25".
Corretto:
age = 25
next_year = age + 1
print(next_year)
Output:
26
I tipi di dato contano.
Python non indovina.
Python non dice:
Questo sembra un numero, quindi forse...
No.
Python segue il tipo.
Severo.
Ma giusto.
Più o meno.
Convertire tipi
A volte devi convertire un valore da un tipo a un altro.
Esempi:
age_text = "25"
age_number = int(age_text)
print(age_number + 1)
Output:
26
Qui:
int(age_text)
converte la stringa "25" nell’intero 25.
Puoi anche usare:
str()
float()
bool()
Esempi:
number = 25
text = str(number)
price_text = "19.99"
price = float(price_text)
Praticheremo di più la conversione dei tipi più avanti.
Per ora sappi solo che esiste.
È come dire a Python:
Per favore, tratta questo valore come un altro tipo.
Python può essere d’accordo.
A meno che il valore non abbia senso.
Esempio:
int("banana")
Python non sarà affatto d’accordo.
Comprensibile.
Mini programma: prezzo prodotto
Crea un file:
product.py
Scrivi:
product_name = "Notebook"
price = 5.99
quantity = 3
total = price * quantity
print(f"Product: {product_name}")
print(f"Price: {price}")
print(f"Quantity: {quantity}")
print(f"Total: {total}")
Eseguilo:
python product.py
oppure:
python3 product.py
Output:
Product: Notebook
Price: 5.99
Quantity: 3
Total: 17.97
Questa è già logica utile.
Salvi dati.
Calcoli un risultato.
Stampi un messaggio leggibile.
Programma minuscolo.
Idea reale.
Molto bene.
Mini programma: profilo utente
Crea un altro file:
profile.py
Scrivi:
first_name = "Anna"
last_name = "Rossi"
age = 25
city = "Rome"
is_student = True
print(f"Name: {first_name} {last_name}")
print(f"Age: {age}")
print(f"City: {city}")
print(f"Student: {is_student}")
Output:
Name: Anna Rossi
Age: 25
City: Rome
Student: True
Questo è un semplice profilo utente.
Molte applicazioni reali salvano informazioni così.
Naturalmente, le applicazioni reali le salvano nei database.
Ma prima dei database servono le variabili.
Una variabile è la prima piccola memoria.
Un database è la grande memoria seria con documenti da compilare.
Pratica
Crea un file:
practice_variables.py
Scrivi variabili per:
- il tuo nome;
- la tua età;
- la tua città;
- il tuo linguaggio di programmazione preferito;
- se stai imparando Python;
- il prezzo di qualcosa che hai comprato;
- la quantità.
Esempio:
name = "Viktor"
age = 33
city = "Vigevano"
favorite_language = "Python"
is_learning_python = True
price = 12.50
quantity = 2
total = price * quantity
print(f"Name: {name}")
print(f"Age: {age}")
print(f"City: {city}")
print(f"Favorite language: {favorite_language}")
print(f"Learning Python: {is_learning_python}")
print(f"Total price: {total}")
Esegui il file.
Poi cambia i valori.
Eseguilo di nuovo.
L’obiettivo è capire questo ciclo:
cambia valori
esegui programma
vedi output diverso
Questo è uno dei poteri principali delle variabili.
Il codice può restare lo stesso.
I dati possono cambiare.
Molto utile.
Molto programmazione.
Mini sfida
Crea un file:
small_shop.py
Il tuo programma deve salvare:
- nome del prodotto;
- prezzo del prodotto;
- quantità;
- nome del cliente;
- se il prodotto è disponibile.
Poi calcola:
prezzo totale = prezzo * quantità
Stampa una ricevuta così:
Customer: Anna
Product: Keyboard
Available: True
Price: 70.0
Quantity: 2
Total: 140.0
Soluzione esempio:
customer_name = "Anna"
product_name = "Keyboard"
is_available = True
price = 70.0
quantity = 2
total = price * quantity
print(f"Customer: {customer_name}")
print(f"Product: {product_name}")
print(f"Available: {is_available}")
print(f"Price: {price}")
print(f"Quantity: {quantity}")
print(f"Total: {total}")
Ora cambia il prodotto.
Cambia la quantità.
Cambia il prezzo.
Esegui di nuovo.
È così che si impara.
Non fissando la teoria finché l’anima lascia la stanza.
Ma cambiando codice e guardando cosa succede.
Checklist comune per principianti
Quando il programma non funziona, controlla:
Ho salvato il file?
Sto eseguendo il file corretto?
Sono nella cartella corretta?
Ho scritto correttamente il nome della variabile?
Ho creato la variabile prima di usarla?
Ho messo il testo tra virgolette?
Ho usato il punto per i numeri decimali?
Ho usato per sbaglio spazi nei nomi delle variabili?
Ho scritto True e False con la maiuscola?
Questa checklist ti farà risparmiare tempo.
Molti errori dei principianti sono piccoli.
Errore minuscolo.
Grande dramma.
Classica programmazione.
Riassunto
Oggi hai imparato:
- le variabili salvano valori;
=assegna un valore a una variabile;- Python esegue il codice dall’alto verso il basso;
- le variabili possono cambiare;
- le stringhe salvano testo;
- gli interi salvano numeri interi;
- i float salvano numeri decimali;
- i booleani salvano
TrueoFalse; type()mostra il tipo di un valore;- le f-string combinano testo e variabili in modo chiaro;
- le variabili possono essere usate nei calcoli;
- i nomi delle variabili devono essere chiari;
- Python usa di solito
snake_case; - Python è case-sensitive;
- il testo ha bisogno di virgolette;
- i numeri non hanno bisogno di virgolette;
- i tipi di dato contano.
Questa è una delle lezioni più importanti nella programmazione.
Le variabili sono ovunque.
Ogni programma utile salva valori.
Un nome.
Un numero.
Un prezzo.
Un risultato.
Uno stato.
Una verità.
Un errore.
Forse non l’errore.
Ma i dati sull’errore.
Molto moderno.
Molto Python.
Prossima lezione
Nella prossima lezione impareremo input.
Imparerai a chiedere informazioni all’utente:
name = input("What is your name? ")
Poi i tuoi programmi diventeranno interattivi.
Invece di stampare solo valori fissi, faranno domande e risponderanno.
È lì che il programma inizia a sembrare vivo.
Non troppo vivo.
Non stiamo costruendo una ribellione dei robot.
Solo un piccolo programma Python.
Per ora.