Python dataclasses in Beispielen erklärt

Seit Python Version 3.7 gibt es ein neues Modul für spezielle Daten-Klassen, die dataclasses.

https://docs.python.org/3.7/library/dataclasses.html

@dataclass decorator für eine Klasse benutzen

Mit dem dataclass decorator ergeben sich viele neue Möglichkeiten Daten-Klassen basierend auf ihren Klassenvariablen zu erzeugen. Ein entsprechender decorator markiert eine Klasse als dataclass. Damit wird dafür gesorgt, dass automatisch eine __init__() Methode erzeugt wird, die die Klassenvariablen als Argumente enthält. Sind die Klassenvariablen mit entsprechenden Typen annotiert, erfolgt auch automatisch eine Prüfung in der IDE.

pycharm zeigt eine Warnung wenn der Typ der Variable nicht mit dem definierten Typ übereinstimmt

Ein einfaches Beispiel zeigt, wie eine dataclass benutzt werden kann.

from dataclasses import dataclass


@dataclass
class Car:
    manufacturer: str = None
    model: str = None
    color: str = None
    length: float = None
    seats: int = None
    is_suv: bool = None


def main():
    new_car = Car(
        manufacturer="Tesla",
        model="Model X",
        color="blue",
        length=5.0,
        seats=5,
        is_suv=True,
    )
    print(new_car)
    if new_car.is_suv:
        print(f"{new_car.manufacturer} {new_car.model} is a SUV")
„Python dataclasses in Beispielen erklärt“ weiterlesen