Implementieren Sie eine Funktion, die eine neue Instanz einer Dataclass erstellt, anstatt die Originalinstanz zu verändern, und nutzen Sie dabei die Prinzipien der funktionalen Programmierung.
Im Rahmen der funktionalen Programmierung ist es von entscheidender Bedeutung, Datenstrukturen unveränderlich (immutable) zu gestalten. Indem wir immutable Dataclasses verwenden, vermeiden wir unbeabsichtigte Seiteneffekte und sorgen dafür, dass unsere Datenstrukturen nur durch explizite, kontrollierte Operationen verändert werden. In dieser Aufgabe werden Sie lernen, wie man eine Dataclass verwendet, um eine unveränderliche (immutable) Datenstruktur zu erstellen, und wie man diese im Kontext der funktionalen Programmierung manipuliert.
@dataclass(frozen=True)
namens Car
mit den Attributen brand (str)
, mileage (int)
und service_dates (List[str])
.add_mileage(car: Car, distance: int) → Car
, die eine neue Instanz der Dataclass Car
erstellt, mit einer aktualisierten mileage
und einer neuen Service-Datum, wenn die Laufleistung über 10.000 km steigt.service_dates
speichern. Das Datum kann dabei ein fester Wert wie 2024-08-28
sein (für Testzwecke).check_service(car: Car) → bool
, die prüft, ob die Laufleistung über 10.000 km liegt und entsprechend True
oder False
zurückgibt.Car
durchzuführen, und drucken Sie die Liste der Service-Daten am Ende aus.Car
in einer separaten Datei car.py
.add_mileage
, die eine neue Instanz zurückgibt, wenn die Laufleistung aktualisiert wird, und fügt gegebenenfalls ein Service-Datum hinzu.check_service
, die die Laufleistung überprüft.