Skip to main content

Typen

Ein Ausdruck in Python ist ein (möglicherweise komplex zusammengesetzter) Befehl, welcher einem Wert enspricht. Jeder Wert hat einen Typ. Der Typ beschreibt die Eigenschaften des Wertes, und welche Operationen wir mit diesem Wert ausführen können. Typen kennen sie bereits aus der Mathematik. Da unterscheiden wir zum Beispiel zwischen natürlichen Zahlen und reellen Zahlen. Diese haben jeweils unterschiedliche Wertebereiche und die Operationen, die wir auf reelen und natürlichen Zahlen ausführen können unterscheiden sich. So macht die Division mit Rest auf reellen Zahlen keinen Sinn, da wir ja immer alle Zahlen exakt dividieren können, während diese Operation auf natürlichen Zahlen sehr wohl Sinn macht.

Da wir in der Programmierung aber nicht nur mit Zahlen, sondern mit beliebigen Konzepten arbeiten, sind die Unterschiede zwischen den Typen sehr viel ausgeprägter. Wir haben zum Beispiel bereits gesehen, dass wir in der Programmierung auch mit Texten arbeiten können:

"hello world"

Der Typ eines solchen Textes wird String genannt. Strings sind neben den Zahlen die wichtigsten einfachen Typen. Wir sehen direkt, dass es komplett unsinnig wäre, mathematische Operationen wie Multiplikation oder Division auf Strings zu definieren. Was soll denn zum Beispiel "hello world" * "hello world" bedeuten?

Typprüfung in Python

Python ist eine sogenannte dynamisch typisierte Programmiersprache. Das bedeutet, dass der Typ eines Wertes nicht explizit angegeben werden muss, sondern von Python automatisch erkannt wird. Wenn zur Laufzeit des Programms auf einem Wert eine Operation aufgerufen wird, die für den entsprechenden Typ nicht definiert ist, wird eine Fehlermeldung ausgegeben.

Wir können den Python Ausdruck "hello world" / 5 zwar schreiben, würden aber beim Ausführen des Programms eine Fehlermeldung erhalten.

Da Python den Typ eines Ausdrucks kennt, können wir auch den Typ eines Ausdrucks abfragen. Wenn wir zum Beispiel

print(type(5 / 3))

eingeben, erhalten wir als Ausgabe

<class 'float'>

Der Ausdruck 5 / 3 ist also vom Typ float. float steht in Python für eine Gleitkommazahl. Der Befehl

print(type("abc"))

hingegen gibt

<class 'str'>

zurück, da ein Text in Python den Typ str hat.

Die folgende Tabelle zeigt die Typen, die wir bisher in in Python kennengelernt haben. Wir werden im Verlauf dieses Kurses noch viele weitere Typen kennenlernen. Die erste Spalte zeigt den Namen des Typs, wie er in Python verwendet wird.

TypErklärungBeispiele
intGanzzahlen-1, 3, 7
floatGleitkommazahlen-3.0, 4.1, 99.91
strString (Text)"abc", "hallo welt"

Experimente

Experimentieren Sie auch hier wieder direkt mit den Codebeispielen und den eingeführten Konzepten.

Versuchen Sie zum Beispiel folgende Fragen zu beantworten:

  • Ist type ein Ausdruck oder eine Anweisung?
  • Was ist der Typ des Wertes, der von type zurückgegeben wird?
  • Ergibt die Ganzzahldivision (//) denselben Typ wie die normal Division (/)

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.