1. Was ist Komposition?
In großen Anwendungen (wie Spotify, Netflix oder Videospielen) arbeiten viele Klassen zusammen. Wenn eine Klasse Instanzen einer anderen Klasse beinhaltet, nennt man das Komposition (oder *"hat-ein"-Beziehung*):
- Eine Playlist hat viele Songs.
- Ein Kino hat viele Säle und Filme.
🎧 Die Spotify-Analogie:
Ein Song speichert seinen Titel, den Künstler und die Länge in Sekunden. Die Playlist kümmert sich um die Gesamtübersicht: Wie viele Songs gibt es? Wie lange dauert die Playlist insgesamt? Gibt es Lieder von Taylor Swift?
2. Nützliche Python-Kniffe
⏱️ Sekunden in "MM:SS" umrechnen
Mit Ganzzahldivision // und Modulo % rechnen wir Sekunden in Minuten um:
Python
gesamt_sekunden = 215 minuten = gesamt_sekunden // 60 # 3 Minuten sekunden = gesamt_sekunden % 60 # 35 Restsekunden # :02d sorgt für zweistellige Zahlen mit führender Null (z.B. 03:05 statt 3:5): zeit_text = f"{minuten:02d}:{sekunden:02d}" # "03:35"
🔍 Groß- und Kleinschreibung beim Suchen ignorieren
Damit "Taylor Swift" auch gefunden wird, wenn jemand "taylor swift" eingibt, nutzen wir .lower():
if song.kuenstler.lower() == gesuchter_kuenstler.lower(): treffer.append(song)
3. Deine Aufgaben in aufgabe.py
💡 Lösungshinweise (Aufklappen bei Bedarf)
Tipp zum längsten Song finden
def laengster_song(self): if not self.songs: return None bester_song = self.songs[0] for s in self.songs: if s.dauer_sekunden > bester_song.dauer_sekunden: bester_song = s return bester_song
4. Lösung überprüfen
Führe im Terminal im Ordner 05_objekte_kombinieren folgenden Befehl aus:
Terminal
python3 test_aufgabe.py