In diesem Blog lernst Du die grundlegenden Datentypen in Python kennen.
Inhaltsverzeichnis
Dieser Blog wird vom IAIP gratis zur Verfügung gestellt. Der Blog ist ein Bestandteil des Kurses K103 «Programmieren mit Turtle Graphics» und gehört zur Lektion 4, Themenblock 3 (L4T3).
Der Kurs führt dich durch die einzelnen Blogs, enthält Zusatzmaterialien, Videos, viele Aufgaben mit Lösungen und Quizze zur Lernkontrolle. Der Kurs hat eine Kursgebühr von CHF 50.- Mit dem Einschreiben zum Kurs hilfst du mit, dass solche Blogs auch zukünftig noch gratis zur Verfügung gestellt werden können.
- Im Blog hat es ergänzende Hinweise für Kursteilnehmer, jeweils in roter Farbe:
- Aufgaben zum Einüben und zur Veranschaulichung des Gesagten.
- Zusatzmaterialien zur Lektion oder zum Themenblock (in der Regel für jüngere Kursteilnehmer)
Datentypen
Wir haben im vorletzten Themenblock gesehen, wie man mit Python rechnen kann. Im letzten Themenblock haben wir uns damit beschäftigt, wie man Werte abspeichern und später im Programm wiederverwenden kann. In diesem Themenblock werfen wir nochmals einen Blick auf das, was wir alles zuweisen können, also auf die «Werte». Im Zentrum steht die Frage, was es alles für Arten von «Werten» gibt.
Für Python ist es wichtig, was genau wir einem (Variablen-) Namen zuweisen. Es unterscheidet nach sogenannten Datentypen. Warum das so ist, werden wir gleich noch sehen. Werfen wir als Erstes mal einen kurzen Blick auf die wichtigsten (eingebauten) Datentypen.
Der Datentyp für "nichts": none
Typ | Beschreibung | Beispiel |
---|---|---|
none | Die Variable hat noch keinen Wert. Wir weisen der Variable «nichts» zu. | None |
Diesen Datentyp werden wir etwas später im Kurs benötigen, wenn wir über Kontrollstrukturen (Schleifen, bedingte Anweisungen und Verzweigungen), Funktionen oder Objekte/ Klassen im Allgemeinen sprechen.
Merke dir an dieser Stelle bloss:
- es gibt auch die Möglichkeit, "nichts" zuzuweisen. Die Variable (Kiste) ist dann quasi leer.
- Um nichts zuzuweisen, schreibt man einfach None (mit grossem Anfangsbuchstaben) hinter das Gleichheitszeichen.
a = None
Numerische Datentypen für Zahlen: int, float, complex
Typ | Beschreibung | Beispiel |
---|---|---|
bool | Boolesche Werte (1: True, 0: False) | 0, 1 |
int | Ganze Zahlen | -40, 673’456, 0, 1 |
float | Gleitkommazahlen | -3.345, 63.45, 0.0, 1.0 |
complex | Komplexe Zahlen | 4+3j, 6.78 + 2.1j, 0+0j, 1+0j |
Bei den numerischen Datentypen geht es um Zahlen. Dass wir in Python auch Zahlen zuweisen können, haben wir ja bereits gesehen. Neu ist, dass Python verschiedene Arten von Zahlen unterscheidet.
Insbesondere unterscheidet Python zwischen Ganzzahlen (ganze Zahlen, also Zahlen ohne Kommastellen) und Kommazahlen (sog. Gleitkommazahlen).
Für uns ändert sich vorerst nichts. Wir können Ganzzahlen und auch Kommazahlen zuweisen, in dem wir diese einfach nach dem Zuweisungszeichen hinschreiben.
Boolsche Werte verkörpern einen Spezialfall, auf welchen wir später noch eingehen werden. Der Datentyp complex nutzt man für komplexe Zahlen – ein Thema, auf welches wir in diesem Kurs nicht eingehen werden.
Ergänzend noch einige Anmerkungen:
- Ganzzahlen haben den Datentyp int. Die Bezeichnung int ist eine Abkürzung und steht für Integer.
- Bei einigen Programmiersprachen (und alten Python Versionen) gibt es mehrere verschiedene Datentypen für ganzzahlige Werte (int, short, longint, …). Das hat mit der Grösse des Speichers zu tun. Bei den aktuellen Versionen von Python sind solche Unterscheidung aber nicht wichtig.
- Zahlen mit Kommastellen werden in Python durch den Datentyp float repräsentiert. Die Nachkommastellen werden dabei – wie im englischen Sprachraum üblich – nicht durch ein Komma, sondern durch einen Punkt von dem ganzzahligen Anteil getrennt. Also beispielsweise 3.45 anstelle 3,45
- Wissenschaftler verwenden oftmals eine etwas andere Zahlendarstellung wie jene, welche man aus der Schule kennt. Es ist die sogenannte Exponentialschreibweise. Sie eignet sich besonders für die Darstellung sehr grosser (oder sehr kleiner) Zahlen. Im Wesentlichen ergänzt man eine Zahl mit dem Buchstaben «e» und der Anzahl Stellen, welche das Komma dann nach links oder rechts verschoben wird:
3.0e2 bedeutet 3.0 · 102 und entspricht der Zahl 300
4.1e8 bedeutet 4.1 · 108 und entspricht der Zahl 410’000’000
1.0e-6 bedeutet 4.1 · 10-6 und entspricht der Zahl 0.000001
Zeichenketten
str | Folge von Zeichen, Text | «hallo», ‘Echo’ |
Schliesslich können wir auch Texte zuweisen. In der Fachsprache nennt man diese Zeichenketten. Eine Zeichenkette ist nichts anderes als eine Folge aneinandergereihter Zeichen (Buchstaben, Satzzeichen, etc.).
Die Arbeit mit Zeichenketten ist in der Programmierung extrem wichtig, auch wenn wir bis anhin nur Zahlen verwendet haben. Denn in den meisten Programmen benötigt man viele Texte. Beispielsweise um etwas zu beschreiben, oder um vom Benutzer seinen Namen abzufragen, etc.
Merke dir an dieser Stelle:
- Zeichenketten stehen in Python immer zwischen einfachen ‹ ‹ oder doppelten » » Anführungs- und Schlusszeichen.
Warum? Man muss Zeichenketten markieren, um diese von anderen Namen (Variablennamen, Python Befehle, etc.) abgrenzen zu können.

Listen und Tuples
Listen und Tuples
list | Folge von Elementen | [«BMW», «Audi», «Fiat] |
tuple | Folge von Elementen | (23, 110) |
Dann gibt es noch Listen und Tuples (sowie einige weitere Datentypen wie Mengen etc.).
Listen verkörpern eine (geordnete) Folge/ Auflistung von Elementen. Beispielweise die oben abgebildete Liste mit Autonamen. Man kann der Liste Elemente hinzufügen, solche entfernen, einzelne Elemente ändern, und vieles mehr. Auch lassen sich die einzelnen Elemente über einen Index ansprechen. Man kann den Computer also beispielsweise bitten, das dritte Element der Liste (hier: Fiat) anzuzeigen.
Ein Tupel ist fast das gleich wie eine Liste, nur lassen sich die einzelnen Elemente nicht mehr verändern. Einmal angelegt bleiben die Elemente also, wie sie sind.
An dieser Stelle ist hervorzuheben, dass Listen mit eckigen Klammern [] und Tuple mit runden Klammern definiert werden.
Umwandeln von Datentypen
Das Umwandeln von Datentypen in Python ist ziemlich intuitiv. Man benutzt einfach den Datentyp als Funktion und als Parameter nimmt man die umzuwandelnde Variable.
- Ganzzahl (int) zu Gleitkommazahl (float): float(5)
- Gleitkommazahl (float) zuGanzzahl (int): int(5.345)
- Ganzzahl (int) zu Zeichenkette(str): str(5)
- Zeichenkette(str) zu Ganzzahl (int): str(«7»)
- Gleitkommazahl (float) zuZeichenkette(str): str(5.345)
- Zeichenkette(str) zu Gleitkommazahl (float): float(«5.345»)