Kapitel 5. Ersteller von Datenklassen
Diese Arbeit wurde mithilfe von KI übersetzt. Wir freuen uns über dein Feedback und deine Kommentare: translation-feedback@oreilly.com
Datenklassen sind wie Kinder. Für den Anfang sind sie in Ordnung, aber um als erwachsenes Objekt teilzunehmen, müssen sie etwas Verantwortung übernehmen.
Martin Fowler und Kent Beck1
Python bietet einige Möglichkeiten, eine einfache Klasse zu erstellen, die nur aus einer Sammlung von Feldern besteht und wenig oder gar keine zusätzlichen Funktionen enthält. Dieses Muster ist als "Datenklasse" bekannt - und dataclasses
ist eines der Pakete, die dieses Muster unterstützen. In diesem Kapitel werden drei verschiedene Klassenersteller vorgestellt, die du als Abkürzung für das Schreiben von Datenklassen verwenden kannst:
collections.namedtuple
-
Der einfachste Weg - verfügbar seit Python 2.6.
typing.NamedTuple
-
Eine Alternative, die Typ-Hinweise für die Felder erfordert - seit Python 3.5, mit der
class
Syntax in 3.6. @dataclasses.dataclass
-
Ein Klassendekorator, der mehr Anpassungen als die bisherigen Alternativen erlaubt und viele Optionen und potenzielle Komplexität bietet - seit Python 3.7.
Nachdem wir uns mit diesen Klassenbauern beschäftigt haben, werden wir erörtern, warum Data Class auch der Name eines Codegeruchs ist: ein Codierungsmuster, das ein Symptom für ein schlechtes objektorientiertes Design sein kann.
Hinweis
typing.TypedDict
mag wie ein weiterer Data Class Builder erscheinen. Er verwendet eine ...
Get Fließendes Python, 2. Auflage now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.