attrs
UtilitiesKurs ohne Textbausteine
Übersicht attrs
attrs (importiert als attr) ist ein Python-Paket, mit dem Sie prägnante, korrekte Python-Klassen ohne Boilerplate schreiben können. Es generiert automatisch __init__, __repr__, __eq__ und andere Dunder-Methoden und unterstützt zusätzlich Validatoren, Konverter, Slots und eingefrorene (unveränderliche) Klassen.
attrs ist eine beliebte Wahl zum Definieren sauberer datenhaltender Klassen in Python und hat direkt das in Python integrierte Datenklassenmodul inspiriert. InPyRunwerden Attrs sofort über Micropip geladen, was es zu einer großartigen Bibliothek macht, die Sie erkunden können, wenn Sie etwas über Klassenentwurfsmuster lernen.
Code- und Ausführungsausgabe
Bereinigen Sie Python-Klassen mit Attrs-Validatoren.
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)")Verwandte Pakete
Empfohlene Python-Ressourcen
Erweitern Sie Ihr Wissen mit zugehörigen interaktiven Tutorials, Spickzetteln und Codevergleichen.
Python-Schleifen
Erfahren Sie, wie Sie Python-Schleifen zum Durchlaufen von Daten verwenden. Beherrschen Sie Best Practices für For-Schleifen, While-Schleifen, Break, Continue und Loop anhand interaktiver Beispiele.
So sortieren Sie eine Liste in Python
Erfahren Sie, wie Sie eine Liste in Python mit der Methode sort() und der Funktion sorted() sortieren. Entdecken Sie Beispiele für benutzerdefinierte Schlüsselsortierung und umgekehrte Reihenfolge.
Spickzettel für Python-String-Methoden
Ein vollständiges Referenzhandbuch für die Python-String-Manipulation. Meistern Sie das Formatieren, Suchen, Teilen, Ersetzen und Überprüfen von Zeichenfolgeneigenschaften.
Python vs. JavaScript: Welche Programmiersprache ist die beste?
Ein umfassender Vergleich zwischen Python und JavaScript. Entdecken Sie Syntaxunterschiede, Leistung, Anwendungsfälle (Backend vs. Frontend) und Codierungsbeispiele.