Optionale Werte und Sammlungen
Sammlungen
namen: list[str] = ["Luna", "Lily"]
punkte: dict[str, int] = {"Luna": 10}
paar: tuple[int, int] = (2, 3)
Optional / None erlaubt
def finde(name: str, daten: list[str]) -> str | None:
if name in daten:
return name
return None
str | None heißt: String oder None (Python 3.10+).
Rate mal!
Warum str | None bei Suche?
Auflösung
Weil „nicht gefunden“ oft als None modelliert wird.
Probiere es selbst
Experiment 1
list[int] Summe.
Experiment 2
dict[str, float].
Experiment 3
Funktion mit -> int | None.
Übungen
Level 1
Typisiere eine Namensliste.
Level 2
Funktion max_or_none(werte) -> int | None.
Level 3
Dict von Spielern zu Scores typisieren.
Level-2-Lösung
def max_or_none(werte: list[int]) -> int | None:
if not werte:
return None
return max(werte)
Mini-Quiz
Optional sitzt! Als Nächstes: Dataclasses.