• Home
  • |
  • Blog
  • |
  • Python Tutorial [5/24] – Python Datentypen

Python Tutorial [5/24] – Python Datentypen

Zuletzt aktualisiert: Juni 26, 2023

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.

Sie sehen gerade einen Platzhalterinhalt von Youtube. Um auf den eigentlichen Inhalt zuzugreifen, klicken Sie auf die Schaltfläche unten. Bitte beachten Sie, dass dabei Daten an Drittanbieter weitergegeben werden.

Mehr Informationen

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:

python string verkettung
string verkettung ausgabe

Schreibt man den +-Operator hingegen zwischen zwei Ganzzahlen, werden diese nicht verkettet, sondern miteinander addiert.

python addition zahlen
python addition ausgabe

Der Computer sieht das Ganze folgendermaßen:

  1. 1
    Er erkennt, dass die print-Funktion aufgerufen werden soll
  2. 2
    Nun sieht er, dass sich darin kein einzelner Wert befindet, sondern ein Term, welchen man in der Programmierung auch als „Ausdruck“ bezeichnet
  3. 3
    Diesen 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?

python datentypen addition

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:

  1. 1
    Der Computer versucht beide Datentypen der Operanden zu ermitteln und stellt fest, dass es sich bei diesen um zwei unterschiedliche Datentypen handelt
  2. 2
    Nun 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:

python datentypen int

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:

python datentypen float

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:

python datentypen str

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