attrs
UtilitiesClasse sans passe-partout
Aperçu attrs
attrs (importé en tant qu'attr) est un package Python qui vous permet d'écrire des classes Python concises et correctes sans passe-partout. Il génère automatiquement __init__, __repr__, __eq__ et d'autres méthodes dunder, et prend en outre en charge les validateurs, les convertisseurs, les emplacements et les classes gelées (immuables).
attrs est un choix populaire pour définir des classes de stockage de données propres en Python, et il a directement inspiré le module dataclasses intégré de Python. DansPyRun, les attrs se chargent instantanément via micropip, ce qui en fait une excellente bibliothèque à explorer lors de l'apprentissage des modèles de conception de classe.
Sortie de code et d'exécution
Nettoyez les classes Python avec des validateurs d'attrs.
import attr
@attr.s(auto_attribs=True)
class Point:
x: float
y: float
def distance_to(self, other: "Point") -> float:
return ((self.x - other.x)**2 + (self.y - other.y)**2)**0.5
@attr.s(auto_attribs=True)
class Polygon:
name: str
vertices: list = attr.Factory(list)
def perimeter(self) -> float:
pts = self.vertices + [self.vertices[0]]
return sum(pts[i].distance_to(pts[i+1]) for i in range(len(pts)-1))
triangle = Polygon("Triangle", [
Point(0, 0), Point(4, 0), Point(0, 3)
])
print(repr(triangle))
print(f"Perimeter: {triangle.perimeter():.4f}")
print(f"Expected : 12.0000 (3-4-5 right triangle)")Forfaits associés
Ressources Python recommandées
Développez vos connaissances avec des didacticiels interactifs, des aide-mémoire et des comparaisons de codes associés.
Boucles Python
Apprenez à utiliser les boucles Python pour parcourir les données. Maîtrisez les bonnes pratiques pour les boucles, while, break, continue et loop avec des exemples interactifs.
Comment trier une liste en Python
Apprenez à trier une liste en Python à l'aide de la méthode sort() et de la fonction sorted(). Découvrez des exemples de tri de clés personnalisé et d’ordre inverse.
Aide-mémoire sur les méthodes de chaîne Python
Un guide de référence complet pour la manipulation des chaînes Python. Maîtrisez le formatage, la recherche, le fractionnement, le remplacement et la vérification des propriétés des chaînes.
Python vs JavaScript : quel langage de programmation est le meilleur ?
Une comparaison complète entre Python et JavaScript. Explorez les différences de syntaxe, les performances, les cas d'utilisation (backend et frontend) et des exemples de codage.