Skip to Content
Fließendes Python, 2. Auflage
book

Fließendes Python, 2. Auflage

by Luciano Ramalho
August 2024
Intermediate to advanced
1014 pages
26h 54m
German
O'Reilly Media, Inc.
Book available
Content preview from Fließendes Python, 2. Auflage

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 ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

Python lernen, 5. Auflage

Python lernen, 5. Auflage

Mark Lutz
High Performance Python, 2. Auflage

High Performance Python, 2. Auflage

Micha Gorelick, Ian Ozsvald
Python in a Nutshell, 4. Auflage

Python in a Nutshell, 4. Auflage

Alex Martelli, Anna Martelli Ravenscroft, Steve Holden, Paul McGuire

Publisher Resources

ISBN: 9781098180362Supplemental Content