Zum Hauptinhalt springen

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

Mini-QuizWas bedeutet str | None?

Optional sitzt! Als Nächstes: Dataclasses.