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.