Loading ...

Usare le Data classes in Python

Usare le Data classes in Python

Spesso ci capita di usare delle classi solo come conteitori.

In questi classi andiamo ad aggiungere tutta una serie di campi / metodi, ed in alcuni casi può essere scomodo.

Anche in Python, che è notoriamente un linguaggio molto sintetico.

Dalla versione 3.7, anche Python supporta le Data classes attraverso il modulo dataclasses apposito.

Vediamo un esempio basico per capire la differenza:

from dataclasses import dataclass

class Libro(object):
	def __init__(self, titolo, autore):
		self.titolo = titolo
		self. autore = autore
		
@dataclass
class LibroDataClass(object):
	titolo : str
	autore : str
	
	
libro = Libro("Titolo uno", "Mattepuffo")
libroDataClass = LibroDataClass("Titolo udue", "Mattepuffo")

print(libro.titolo + " - " + libro.autore)
print(libroDataClass.titolo + " - " + libroDataClass.autore)

La prima classe è "standard", e non usa le dataclasses; cosa che fa la seconda (potete vedere l'annotazione apposita).

Ovviamente, essendo una classe con due soli campi, c'è poca differenza.

Ma potete vedere sulla documentazione tutte le possibilità che ci offre il modulo.

Enjoy!