Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Nächste Überarbeitung
Vorhergehende Überarbeitung
modul:m323:learningunits:lu02:aufgaben:dataclass [2024/08/28 09:16] – angelegt kmaurizimodul:m323:learningunits:lu02:aufgaben:dataclass [2024/08/28 10:36] (aktuell) kmaurizi
Zeile 1: Zeile 1:
-====== LU02.A09: Ändern eines Attributs in einer Dataclass ======+====== LU02.A09 Dataclass mit mutable Attribut ======
  
-Todo: Schreiben Sie eine Funktion, die ein Attribut einer Dataclass ändert und beobachten Sie, wie sich dies auf das Originalobjekt auswirkt.+<WRAP center round todo 60%> 
 +Implementieren Sie eine Dataclass mit einem mutable Attribut und stellen Sie sicherdass jede Instanz eine unabhängige Kopie dieses Attributs erhält. Überprüfen Sie das Verhalten Ihrer Implementierung, indem Sie das mutable Attribut in mehreren Instanzen ändern. 
 +</WRAP>
  
 ==== Aufgabenstellung ==== ==== Aufgabenstellung ====
  
-Definieren Sie eine Dataclass namens ''Car'' mit den Attributen ''brand'' (str) und ''mileage'' (int). +  - Definieren Sie eine Dataclass namens ''Team'' mit den Attributen ''name'' und ''members'' (eine Liste von Stringsim File ''team.py'' 
-Schreiben Sie eine Funktion ''drive(car: Cardistance: int-> None'', die das Attribut ''mileage'' der übergebenen ''Car''-Instanz um den Wert von ''distance'' erhöht. +  - Verwenden Sie für das Attribut ''members'' die korrekte Methode, um sicherzustellen, dass jede Instanz ihre eigene Liste erhält. 
-Erstellen Sie eine Instanz der Dataclass ''Car'' und rufen Sie die Funktion auf+  - Implementieren Sie eine Funktion ''add_member(teammember)'', die einen neuen Namen zur Liste ''members'' der übergebenen Team-Instanz hinzufügt im File ''main.py'' 
-Geben Sie vor und nach dem Funktionsaufruf die Werte der Attribute aus, um zu sehen, wie sich die Änderung auf das Originalobjekt auswirkt. +  Erstellen Sie zwei Instanzen von ''Team'', fügen Sie jeweils verschiedene Mitglieder hinzu und überprüfen Sie, ob die Listen der Mitglieder unabhängig voneinander bleiben
-==== Code Vorlage ====+  Geben Sie die Mitgliederlisten beider Teams aus, um das Verhalten zu bestätigen.
  
-<code python> 
-from dataclasses import dataclass 
-@dataclass 
-class Car: 
-brand: str 
-mileage: int 
  
-def drive(car: Car, distance: int) -> None: +==== Schritt für Schritt ====
-""" +
-Increase the mileage of the car by the given distance. +
-""" +
-car.mileage +distance+
  
-if name == 'main': +  - Definieren Sie die Dataclass ''Team'' mit den angegebenen Attributen. 
-my_car = Car(brand='Toyota', mileage=10000) +  - Implementieren Sie das Attribut ''members'' sodass jede Instanz ihre eigene unabhängige Liste erhält. 
-print(f'Vor der Fahrt: {my_car}'+  - Implementieren Sie die Funktion ''add_member'', die einen Namen zur Mitgliederliste hinzufügt. 
-drive(my_car500) +  - Erstellen Sie zwei Instanzen der Dataclass und fügen Sie verschiedenen Instanzen verschiedene Mitglieder hinzu. 
-print(f'Nach der Fahrt: {my_car}') +  - Überprüfen Sie die Unabhängigkeit der Mitgliederlisten, indem Sie die Listen beider Teams ausgeben.
-</code> +
- +
-==== Schritt für Schritt ====+
  
-Definieren Sie die Dataclass ''Car''. 
-Implementieren Sie die Funktion ''drive'', die die Laufleistung des Autos erhöht. 
-Erstellen Sie eine Instanz der Dataclass und initialisieren Sie sie mit Werten. 
-Rufen Sie die Funktion auf und beobachten Sie die Änderungen. 
  
 +----
 +<nodisp>https://github.com/templates-python/m323-lu02-a09-dataclass</nodisp>
 +[[https://creativecommons.org/licenses/by-nc-sa/4.0/ch/|{{https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png}}]] (c) Kevin Maurizi 
  • modul/m323/learningunits/lu02/aufgaben/dataclass.1724829400.txt.gz
  • Zuletzt geändert: 2024/08/28 09:16
  • von kmaurizi