← Back to course

Variabili e tipi di dato

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:

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:

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:

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:

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:

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:

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.