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.