📚 Lezione 3: Variabili e Tipi di Dato Fondamentali in Python

⏱️ Tempo stimato di lettura

20 minuti

🧩 Difficoltà

Base

🎯 Obiettivi specifici

  • Comprendere cosa sono le variabili e come funzionano in Python
  • Conoscere i principali tipi di dato: numeri, stringhe e booleani
  • Utilizzare type() per determinare il tipo di variabile
  • Capire il concetto di mutabilità e immutabilità
  • Saper effettuare il casting tra tipi di dato
  • Distinguere tra tipi primitivi e strutture dati complesse

📖 Sezione teorica

In Python, le variabili sono riferimenti a oggetti memorizzati in memoria. Non sono “contenitori” fisici, ma etichette che puntano a dati.

Python è dinamicamente tipizzato, il che significa che non è necessario dichiarare il tipo della variabile. Il tipo è determinato automaticamente dal valore assegnato.

Esempio:

name = "Alice"       # stringa
score = 95            # intero
passed = True         # booleano

Se riassegni un nuovo valore, la variabile può cambiare tipo:

score = 95
score = "Novantacinque"  # ora è una stringa

📊 Tipi di dato fondamentali

  1. Numeri
    • int: interi (es. 42)
    • float: numeri decimali (es. 3.14)
    • complex: numeri complessi (es. 2 + 3j)
  2. Stringhe (str)
    • Testo racchiuso tra apici singoli o doppi.
    • Immutabili: ogni modifica crea un nuovo oggetto.
  3. Booleani (bool)
    • Valori logici: True o False.

📌 La funzione type()

Permette di conoscere il tipo di dato:

x = 10
print(type(x))  # <class 'int'>

🛠️ Mutabilità e immutabilità

  • Mutabili: liste, dizionari, set
  • Immutabili: numeri, stringhe, tuple

Esempio:

# Mutabile
lista = [1, 2, 3]
lista.append(4)
print(lista)

# Immutabile
text = "Hello"
print(text.upper())  # non modifica text

In quali casi useresti tipi mutabili rispetto a quelli immutabili?


🔶 Esempio pratico esteso

a = 5
b = 3.14
c = "Python"
d = True

print(type(a), type(b), type(c), type(d))

# Casting
e = float(a)  # int → float
f = str(b)    # float → stringa
print(e, f)

📚 Glossario tecnico

  • Variabile: nome che fa riferimento a un oggetto in memoria.
  • Casting: conversione di un tipo di dato in un altro.
  • Mutabile: oggetto modificabile senza creare uno nuovo.
  • Immutabile: oggetto non modificabile dopo la creazione.
  • Tipizzazione dinamica: determinazione automatica del tipo a runtime.

📝 Esercizio finale

  1. Crea una variabile per il tuo nome, età e stato di studente (booleano).
  2. Stampa una frase con queste informazioni.
  3. Usa type() per ogni variabile.
  4. Prova a modificare la stringa e osserva cosa succede.
  5. Converti l’età in stringa e concatena con il nome.

🧠 Quiz finale

Domande:

  1. Che tipo è 3.14?
  2. Le stringhe sono mutabili o immutabili?
  3. type(False) restituisce cosa?
  4. Cosa accade quando modifichi una stringa?
  5. Quali valori può assumere un booleano?

Risposte:

  1. float
  2. Immutabili
  3. <class 'bool'>
  4. Viene creato un nuovo oggetto stringa
  5. True, False

❓ FAQ

1. Posso cambiare tipo di variabile? Sì.
2. Python è case-sensitive? Sì.
3. Posso usare spazi nei nomi? No, usa _.
4. Perché type() è utile? Per capire come Python interpreta il valore.
5. Python converte automaticamente i tipi? In alcuni casi, ma non sempre.


📢 Hai dubbi? Scrivi nei commenti!

🔗 Prosegui alla prossima lezione: Input da tastiera e output

⚠️ Errore comune: credere che modificare una stringa cambi l’originale.

📅 Aggiornato il 09/08/2025

Lascia un commento