de la classe, possibilitat de filtres • definir atributs obligatoris o opcionals • definir valors per defecte • definir validadors per a cada atribut, n’hi ha de predefinits i es poden implementar “custom” • definir casting pels atributs, e.g.: si ens passen “1” convertir a 1 • validar conjuntament tots els atributs de la instància de la classe • comparar fàcilment dues instàncies d’una mateixa classe sense necessitat d’implementar els mètodes de comparació • ens proporcionar automàticament un mètode “__str__” • ens permet decidir quins atributs s’inclouran al mètode __str__ • ens permet decidir quins atributs s’inclouran al mètode __has__ • crear classes de manera dinàmica • immutabilitat, definir classes de només lectura un cop instanciades • possibilitat de recuperar informació de l’objecte amb filtres (emprant els helpers)