Tipi di dati in Python
Perché esistono i tipi di dati?
Sezione intitolata “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: indica com’è fatto e quali operazioni puoi eseguire su di esso.
I tipi principali
Sezione intitolata “I tipi principali”Numero intero: int
Sezione intitolata “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
Sezione intitolata “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)
Sezione intitolata “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)
Sezione intitolata “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
Sezione intitolata “Assenza di valore: None”None è un valore speciale che rappresenta l’assenza intenzionale di un risultato o di un dato disponibile.
risultato = None
print(type(risultato)) # <class 'NoneType'>None è comunque un valore vero e proprio, di tipo NoneType. Non equivale a 0, a False o a una stringa vuota.
Tipi per raccogliere più valori insieme
Sezione intitolata “Tipi per raccogliere più valori insieme”Python ha anche tipi che raccolgono più valori. Li vedrai nei capitoli successivi; per ora basta riconoscerli:
| 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
Sezione intitolata “Come Python assegna il tipo automaticamente”In Python non devi dichiarare il tipo di una variabile: viene ricavato dal valore assegnato.
x = 10 # Python capisce che è un inty = 3.14 # Python capisce che è un floatz = "ciao" # Python capisce che è una strQuesta caratteristica si chiama tipizzazione dinamica. Il tipo non è fisso e può cambiare durante il programma, anche se di solito è meglio evitarlo.
Riepilogo rapido
Sezione intitolata “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