Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Apsl attrs

27 views

Published on

Apsl attrs

Published in: Technology
  • Login to see the comments

  • Be the first to like this

Apsl attrs

  1. 1. attrs Andreu Vallbona - Lighting Talks - February 2017
  2. 2. attrs attr és una llibreria que ens permet decorar classes per tal de poder implementar-les ala django model style.
  3. 3. attrs Algunes característiques interessants són: ● facilitat obtenir els atributs 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)
  4. 4. attrs Alguns usos interessants són per a nosaltres podrien èsser: ● implementar clients d’apis, ens permetria definir i validar més fàcilment els “objectes” que s’envien i reben de l’API ● importadors de csv, ens evitaria haver de controlar quin index de la tupla importada representa cada camp del nostre model (similar al que podríem fer amb marshmallow) ● ...
  5. 5. attrs Exemple de simplificació classe implementada de manera clàssica
  6. 6. attrs Exemple de simplificació classe implementada amb attrs
  7. 7. attrs Exemple de validadors permet comparar atributs de la pròpia instància
  8. 8. attrs Exemple real emprat a un projecte nostre Classe
  9. 9. attrs Exemple real emprat a un projecte nostre Validadors
  10. 10. attrs
  11. 11. attrs Proudly created with Thanks to Marc Tudurí and Marc Galofré

×