Tipi di dati
Perché esistono i tipi di dati?
Section titled “Perché esistono i tipi di dati?”Il computer gestisce informazioni molto diverse tra loro: numeri, testi, valori vero/falso. Non ha senso sommare del testo come se fossero numeri, o confrontare un nome con un prezzo.
Per questo ogni valore in Python ha un tipo di dato: una categoria che dice a Python com’è fatto quel valore e cosa puoi farci.
I tipi principali
Section titled “I tipi principali”Numero intero — int
Section titled “Numero intero — int”Un numero senza virgola. Può essere positivo, negativo o zero.
eta = 16temperatura = -5anno = 2024milione = 1_000_000 # puoi usare _ come separatore per leggere meglio i grandi numeri
print(type(eta)) # <class 'int'>Numero decimale — float
Section titled “Numero decimale — float”Un numero con la virgola. In Python (e nella programmazione in generale) si usa il punto invece della virgola.
altezza = 1.75pi_greco = 3.14159temperatura = -2.5
print(type(altezza)) # <class 'float'>Testo — str (stringa)
Section titled “Testo — str (stringa)”Qualsiasi sequenza di caratteri: lettere, numeri, simboli. Si scrive tra virgolette singole '...' o doppie "...":
nome = "Alice"messaggio = 'Ciao, mondo!'frase = """Questa è una stringasu più righe."""
print(type(nome)) # <class 'str'>Il termine “stringa” deriva dall’inglese string (filo), perché è come una sequenza di caratteri infilati uno dopo l’altro.
Vero o Falso — bool (booleano)
Section titled “Vero o Falso — bool (booleano)”Solo due valori possibili: True (vero) o False (falso). Nota la lettera maiuscola.
maggiorenne = Truepiove = False
print(type(maggiorenne)) # <class 'bool'>Assenza di valore — None
Section titled “Assenza di valore — None”None è un valore speciale che significa “niente”. È utile per indicare che una variabile esiste ma non contiene ancora nessun dato.
risultato = None
print(type(risultato)) # <class 'NoneType'>È come una scatola vuota: la scatola c’è, ma non c’è niente dentro.
Tipi per raccogliere più valori insieme
Section titled “Tipi per raccogliere più valori insieme”Oltre ai tipi semplici, Python ha tipi che contengono più valori contemporaneamente. Li vedremo in dettaglio nei capitoli successivi, ma è bene sapere che esistono:
| Tipo | Esempio | Cosa è |
|---|---|---|
list (lista) | [1, 2, 3] | Una sequenza ordinata di elementi, modificabile |
tuple | (1, 2, 3) | Come una lista, ma non modificabile |
set (insieme) | {1, 2, 3} | Una raccolta senza duplicati e senza ordine fisso |
dict (dizionario) | {"nome": "Alice"} | Coppie chiave-valore, come un vocabolario |
Come Python assegna il tipo automaticamente
Section titled “Come Python assegna il tipo automaticamente”In Python non devi dichiarare esplicitamente il tipo di una variabile: Python lo intuisce dal valore che assegni.
x = 10 # Python capisce che è un inty = 3.14 # Python capisce che è un floatz = "ciao" # Python capisce che è una strQuesto si chiama tipizzazione dinamica: il tipo non è fisso, e puoi anche cambiarlo nel corso del programma (anche se di solito non è una buona idea).
Riepilogo rapido
Section titled “Riepilogo rapido”intero = 10 # int — numero senza virgoladecimale = 3.14 # float — numero con virgolatesto = "Python" # str — testovero_o_falso = True # bool — vero o falsoniente = None # None — assenza di valorelista = [1, 2, 3] # list — sequenza modificabiletupla = (1, 2, 3) # tuple — sequenza fissainsieme = {1, 2, 3} # set — raccolta senza duplicatidizionario = {"a": 1} # dict — coppie chiave-valore