Typen von Variablen und Typannotationen
Da Variablen einen Wert repräsentieren, hat natürlich auch zur Folge, dass wir vom Typ einer Variablen sprechen können. Beispielsweise
hat in folgendem Codestück die Variable a
den Typ float
, ist also eine Gleitkommazahl.
a = 5.0
Die Variable
b = 5 - 3
hat hingegen den Typ int
, was für eine Ganzzahl steht.
In diesen Beispielen ist es offensichtlich, welchen Typ eine Variable hat. In komplexeren Programmen kann es aber durchaus vorkommen, dass wir den Typ einer Variable nicht mehr auf den ersten Blick erkennen. In solchen Fällen ist es hilfreich, wenn wir den Typ einer Variable explizit angeben können. Dies ist in Python mit sogenannten Typannotationen möglich.
Typannotationen
Um den Typ einer Variable anzugeben, schreiben wir hinter den Namen der Variable einen Doppelpunkt und dann den Typ der Variable.
a: float = 5.0
Dies ist äquivalent zu folgender Definition:
a = 5.0
In beiden Fällen repreäsentiert die Variable a
eine Gleitkommazahl. Auf dieselbe Art und Weise können wir auch den Typ einer Variablen angeben, die eine Ganzzahl oder einen String (Text) repräsentiert:
b: int = 5 - 3
c: str = "hello world"
Typannotationen und Typprüfung
Wie wir gesehen haben, funktionieren unsere Programme auch ohne, dass wir Typannotationen angeben. Typannotationen sind in Python optional. Wenn wir den Typ einer Variablen nicht angeben, wird der Typ der Variablen automatisch von Python erkannt. Typannotationen sind in Python aber nicht nur optional, sondern auch nur informativ. Das bedeutet, dass Python den Typ einer Variablen auch nicht überprüft. Wenn wir also eine Variable mit einem Wert eines anderen Typs als angegeben initialisieren, wird kein Fehler ausgegeben.
Ensprechend könnten wir uns fragen, wozu wir überhaupt Typannotationen verwenden sollten. Aus didaktischer Sicht ist es wichtig, dass Sie sich zu jedem Zeitpunkt bewusst sind, welchen Typ eine Variable hat. Wenn Sie sich angewöhnen, die Typen einer Variable jeweils hinzuschreiben, hilft Ihnen das dies zu verinnerlichen. Später, wenn die Programmierkonstrukte die Sie verwenden komplizierter werden, werden Ihnen Typannotationen auch helfen, verschiedene Konzepte auseinanderzuhalten und ensprechend die Programme besser zu verstehen.
In diesem Kurs behandeln wir aber Typannotationen, genau wie Python, als Optional. Sie können sie verwenden, müssen es aber nicht. Sie müssen diese aber lesen können, da wir sie in den komplexeren Codebeispiel zur Erhöhung der Lesbarkeit verwenden werden.
Experimente
Probieren Sie auch die obigen Beispiele selbst aus. Versuchen Sie folgende Fragen zu beantworten:
- Was passiert, wenn Sie die Typannotationen entfernen?
- Was passiert, wenn Sie die Variablen mit einem Wert eines anderen Typs initialisieren?
- Nutzen sie die
type
Anweisung, um den Typ einer Variablen zu bestimmen. Wenn der Wert des Typs nicht dem angegebenen Typ entspricht, welcher Typ wird dann ausgegeben?
Fragen und Kommentare
Haben Sie Fragen oder Kommentare zu diesem Artikel? Nutzen Sie das Forum und helfen Sie sich und Ihren Mitstudierenden dieses Thema besser zu verstehen.