Wofür benötigt man in Python Datentypen und warum sind sie so wichtig? Diese Fragen werden wir in den nächsten Zeilen im Detail beantworten. Außerdem sehen wir uns an, mit welchen Datentypen die Werte in deinen Programmen intern tatsächlich gespeichert werden.
Inhaltsverzeichnis
1. Warum benötigt man in Python Datentypen?
Bevor wir uns die verschiedenen Basisdatentypen ansehen, ist zunächst einmal wichtig zu verstehen, weshalb der Computer das Konzept der Datentypen in Python eigentlich benötigt.
Im Beitrag, in dem es um die sogenannten Strings ging, hatten wir dieses Thema bereits kurz angeschnitten. Dort haben wir gelernt, dass der +-Operator auch auf Strings angewendet werden kann. Dieser verkettet nämlich zwei Strings miteinander, wenn sie beim Aufruf der print-Funktion jeweils vor und nach den +-Operator geschrieben werden.
Das bedeutet einfach ausgedrückt: Der String rechts neben dem +-Operator wird dem String links vom +-Operator angehängt. Beispiel:
Schreibt man den +-Operator hingegen zwischen zwei Ganzzahlen, werden diese nicht verkettet, sondern miteinander addiert.
Der Computer sieht das Ganze folgendermaßen:
- 1Er erkennt, dass die print-Funktion aufgerufen werden soll
- 2Nun sieht er, dass sich darin kein einzelner Wert befindet, sondern ein Term, welchen man in der Programmierung auch als „Ausdruck“ bezeichnet
- 3Diesen Ausdruck (10 + 3) wertet er nun aus, sodass anschließend das Ergebnis davon (13) ausgegeben werden kann
Anhand dieser Beispiele lässt sich bereits erkennen, dass Operatoren eine ganz unterschiedliche Funktionalität haben können, abhängig vom Datentyp, auf dem sie angewendet werden.
In anderen Worten: Intern prüft der Computer, bevor er eine Operation durchführt immer zuerst, welche Datentypen die Operanden haben. Bezogen auf das Beispiel mit dem +-Operator stellt der erste Operand den Wert, der vor dem Plus steht, dar und der zweite Operand den Wert hinter dem Pluszeichen. Je nach Datentyp der Operanden kann der Computer genau feststellen, wie der +-Operator darauf angewendet werden muss. So ermöglichen in Python Datentypen also, dass immer die korrekte Operation durchgeführt wird.
Was passiert nun aber, wenn wir eine Zahl mit einem String addieren möchten?
In solch einem Fall stellt der Computer intern fest, dass ein Operand den Datentyp einer Ganzzahl besitzt, der andere Operand hingegen den Datentyp String.
Beim Ausführen dieses Programms können wir direkt feststellen, dass es zu einem Fehler kommt:
Wenn wir einen näheren Blick auf die Ausgabe werfen, verrät uns Python, um welche Art von Fehler es sich dabei handelt anhand der folgenden Zeile:
TypeError: unsupported operand type(s) for +: ‘int’ and ‘str’
Die Bedeutung für “int” und “str” werden wir gleich noch im Detail kennenlernen.
Überlegen wir uns aber zunächst einmal, was bei der Ausführung dieses Programms intern passiert:
- 1Der Computer versucht beide Datentypen der Operanden zu ermitteln und stellt fest, dass es sich bei diesen um zwei unterschiedliche Datentypen handelt
- 2Nun weiß er nicht, wie er den Operator auf diese zwei unterschiedlichen Datentypen anwenden soll, da eine Zahl addiert mit einem String keinen Sinn ergibt. Da er an dieser Stelle maßlos überfordert ist, antwortet er uns mit einer Fehlermeldung
Fassen wir die Problemstellung also noch mal kurz zusammen: Der Computer benötigt intern zwingend das Konzept von Datentypen, damit er die Werte, mit denen er arbeiten soll, mithilfe der Datentypen kategorisieren kann und anhand des vorliegenden Datentyps direkt weiß, welche Operationen er darauf anwenden muss.
2. Welche Datentypen gibt es in Python?
In Python existieren zahlreiche unterschiedliche Datentypen. In diesem Artikel werden wir uns mit drei der Basisdatentypen näher beschäftigen.
Dabei handelt es sich um Datentypen, die uns Python von vornherein zur Verfügung stellt, um auch entsprechend mit dieser Programmiersprache arbeiten zu können.
Neben den Basisdatentypen besteht auch die Möglichkeit, in Python Datentypen selbst zu erstellen. Dieses Thema werden wir allerdings erst in den kommenden Beiträgen beleuchten.
2.1. Der Datentyp int
Mit dem Datentyp int hatten wir es bereits oben in der Fehlermeldung zu tun. Die Abkürzung int steht dabei für Integer und basierend auf diesem Datentyp werden in Python alle Ganzzahlen gespeichert, die wir in unseren Programmen erzeugen.
Beispiel:
Im obenstehenden Bild haben wir eine Ganzzahl vom Datentyp Integer erzeugt.
2.2. Der Datentyp float
Neben dem Integer existiert in Python auch der Datentyp float. Dieser speichert Gleitkommazahlen. Alle Zahlen unseres Python Programms, die einen Dezimalpunkt enthalten, werden basierend auf dem Datentyp float gespeichert.
Beispiel:
2.3. Der Datentyp str
Bei diesem Datentyp handelt es sich um einen String. Wie man einen String erzeugt, haben wir bereits im Beitrag über Strings gelernt. Zur Wiederholung werde ich an dieser Stelle jedoch noch einmal kurz auf das Thema zurückkommen. Ein String kann sowohl mit einfachen als auch mit doppelten hochgestellten Anführungszeichen erzeugt werden:
3. Zusammenfassung
Egal welchen Wert wir in unseren Python Programmen verwenden: Intern liegt diesem immer ein Datentyp zugrunde. Das ist deshalb wichtig, weil der Computer mit einem Wert andernfalls nicht arbeiten und diesen somit nicht verwerten könnte.
Für Ganzzahlen verwenden wir den Datentyp int (Integer), für Gleitkommazahlen den Datentyp float und für Strings den Datentyp str (String).
Hinweis: In Python gibt es eine Namenskonvention, nach der man Variablennamen, die aus mehreren Wörtern bestehen, durch einen Unterstrich voneinander trennt. Beispiel: int_variable = 100