Come accennato in questo articolo, Python è un linguaggio a tipizzazione dinamica, il che significa che il tipo non viene dichiarato nel codice ma determinato durante l’esecuzione del programma, in base al valore assegnato. Tuttavia, ciò non significa che i tipi non esistano: ogni valore ha un tipo ben preciso.

Vediamo quindi i tipi di dati nativamente presenti in Python:

  • Stringhe: str
  • Numeri: int, float, complex
  • Sequenze: list, tuple
  • Mappe: dict
  • Sets: set, frozenset
  • Boolean: bool
  • Binary: bytes, bytearray, memoryview

In Python, non è necessario specificare il tipo di una variabile durante la dichiarazione. Ciò consente a una variabile di contenere uno qualsiasi dei tipi sopra elencati. Inoltre, la stessa variabile può ricevere in qualsiasi momento un valore di tipo diverso: a cambiare non è il tipo del valore, che resta sempre lo stesso, ma il valore a cui la variabile fa riferimento.

x = 1        # x fa riferimento a un int
x = "uno"    # ora x fa riferimento a una str

Per ulteriori dettagli sui tipi di dati in Python, ti invitiamo a consultare la documentazione ufficiale.

Impostare il tipo di dato

Ecco alcuni esempi di come assegnare vari tipi di dati a una variabile:

  • Stringa: x = "Hello World"
  • Numero:
    • Int: x = 1
    • Float: x = 1.0
    • Complex: x = 1j
  • Sequenze:
    • List: x = ["Lunedì", "Martedì", ...]
    • Tuple: x = ("Lunedì", "Martedì", ...)
  • Mappe: x = {"chiave": "valore", "chiave": "valore", ...}
  • Sets:
    • Set: x = {"Lunedì", "Martedì", ...}
    • FrozenSet: x = frozenset({"Lunedì", "Martedì", ...})
  • Boolean: x = True oppure x = False
  • Binary: x = b"Hello World"

Sequenze Vs Sets

Poiché le sequenze e i set possono sembrare simili, vediamo le principali differenze tra queste due classi di dati:

  • List: Il contenuto delle liste può essere eterogeneo, ammette duplicati ed è mutabile. Si può inizializzare con x = list() o x = []
  • Tuple: Il contenuto delle tuple può essere eterogeneo, ammette duplicati ed è immutabile. Si può inizializzare con x = tuple() o x = ()
  • Set: Il contenuto dei set può essere eterogeneo, non ammette duplicati ed è mutabile. Si può inizializzare con x = set()
    • Esiste anche una versione immutabile che può essere inizializzata con x = frozenset()
  • Mappe: Il contenuto di una mappa può essere eterogeneo, non ammette la duplicazione delle chiavi e il suo contenuto è mutabile. Si può inizializzare con x = dict() o x = {}

Conclusioni

Abbiamo esplorato una panoramica dei principali tipi di dati in Python. Nei prossimi articoli vedremo alcune applicazioni pratiche che ti aiuteranno a comprendere meglio il loro utilizzo e le loro peculiarità. Continua a seguirci per approfondire ulteriormente le tue competenze in Python!