Integrierte Datentypen sind die Datentypen, die in der Programmiersprache fest definiert sind und als solche zur Verfügung stehen, ohne über Module eingebunden zu werden. Später wirst Du lernen, wie Du auch eigene Datentypen kreieren und implementieren kannst.

Wenn Du programmierst, musst Du immer Obacht auf die verschiedenen Typen von Daten haben, die Deine Programme verarbeiten. Die Programme im vorangegangenen Abschnitt haben Zeichenketten verarbeitet. Viele der Programme, die wir in diesem Abschnitt betrachten, verarbeiten Zahlen. Weitere Datentypen wirst Du im Fortlauf des Tutorials kennenlernen.

Die Kenntnis der verschiedenen Datentypen und ihrer Eigenschaften ist essentiell. Ein Datentyp definiert nämlich 3 Dinge:

  1. Wertebereich – zulässige Werte
  2. zulässige Operationen
  3. Literale (Schreibweise der Werte im Programmcode)

Bevor wir uns weitere Beispielprogramme ansehen, möchte ich Dir ein paar Begriffe an die Hand geben. Ihre Verwendung macht die folgenden Ausführungen kürzer und verständlicher. Letzteres natürlich nur, wenn Du weißt, was die verschiedenen Begriffe bedeuten.

Definitionen

Die folgenden Erläuterungen nehmen Bezug auf das folgende Code-Fragment:

a = 42
b = 21
summe = a + b

Der Programmcode definiert und erzeugt 3 Objekte. Jedes dieser Objekte ist vom Datentyp int. Das sind ganze Zahlen. Das es sich um ganze Zahlen handelt, erkennst Du an den Literalen, der Schreibweise der zugewiesenen Werte. 42 und 21 stellen ganze Zahlen in dezimaler Notation dar. Du kennst das aus dem Alltag. Weil die Operanden ganze Zahlen sind, ist auch die Summe von a + b eine ganze Zahl. a, b, und summe sowie a + b sind Ausdrücke. Ausdrücke erkennst Du daran, dass sie einen Wert besitzen. Durch die Zuweisung, dem einfachen Gleichheitszeichen, werden Variablen ins Leben gerufen, die den jeweils zugewiesenen Wert repräsentieren.

Literal: Ein Literal ist die Darstellung/Schreibweise eines Datenwertes im Programmcode. Dezimale Ganzzahlen (int) bestehen aus den Ziffern 0 bis 9. Die erste Ziffer darf keine 0 sein. Gleitkommazahlen (float) werden mit einem Dezimalpunkt notiert. Der Dezimalpunkt steht für das in Deutschland übliche Dezimalkomma. Zeichenketten, das kennst Du schon, werden paarweise in einfachen oder doppelten Anführungszeichen notiert. Informatiker nennen Zeichenketten gerne Strings. Daten Python-Datentyp heißt str.

Operatoren: Ein Operator stellt eine Operation dar, die auf dessen Operanden ausgeführt werden soll. Operatoren bestehen aus Symbolen oder auch kurzen Worten. Sie können einen oder auch mehrere Operanden haben. Das +-Zeichen steht beispielsweise für die Addition, das *-Zeichen zeigt eine Multiplikation an.

Bezeichner: Der Begriff Bezeichner steht für einen Namen. Die Namen von Variablen, Funktionen oder auch die Vokabeln, die die Programmiersprache Python ausmachen, sind Bezeichner. Ein Bezeichner besteht in Python aus einer Sequenz von einem oder mehreren Zeichen. Zulässige Zeichen sind Buchstaben, die Ziffern 0 bis 9 und der Unterstrich. Das erste Zeichen eines Bezeichners darf keine Ziffer sein. Groß- und Kleinschreibung ist in Python signifikant.

Variablen: Eine Variable ist ein Bezeichner, der mit einem Datenwert assoziiert ist. Wir verwenden Variablen um sich verändernde Werte zu verfolgen. Das heißt, wir weisen einer Variablen einen Wert zu, rechnen damit oder modifizieren diesen Wert anderweitig. Im obigen Beispiel bilden wir in der Variablen c beispielsweise die Summe aus den Werten, die a und b zugewiesen wurden. Variablen können zur Laufzeit eines Programms ihre Werte ändern. Sie sind variabel.

Konstanten: Konstanten sind Bezeichner, die einen unveränderlichen Wert repräsentieren. Python kennt keine Konstanten. Du musst Variablen verwenden. Zur Kennzeichnung ihrer beabsichtigten Unveränderlichkeit ist es Konvention, ihre Bezeichner in Großbuchstaben zu notieren. Beispiel: PI = 3.14.

Ausdruck: Ein Ausdruck hat einen Wert. Ein Datenwert, eine Variable, Funktionen und/oder Kombinationen daraus, die mit Operatoren (zusammengesetzte Ausdrücke) verknüpft wurden, lassen sich zu Werten evaluieren und stellen somit Ausdrücke dar.

Auswertungsreihenfolge: Zusammengesetzte Ausdrücke werden nicht einfach von links nach rechts evaluiert/ausgewertet. Die Auswertungsreihenfolge ist in Python wohldefiniert. Sie ist weitestgehend intuitiv. So wird beispielsweise die Rechenregel „Punkt-vor-Strichrechnung“ beherzigt. In logischen Ausdrücken wird die Negation vor dem logischen UND ausgewertet und das logische ODER erst nach dem UND.

Zuweisungen: Bei der Zuweisung wird einer Variablen ein Wert zugewiesen. Der Zuweisungsoperator ist das einfache Gleichheitszeichen. Formal muss die Variable auf der linken Seite des Gleichheitszeichens stehen. Der zuzuweisende Wert/Ausdruck steht auf der rechten Seite. Bei der Zuweisung wird erst die rechte Seite ausgewertet. Der dabei ermittelte Wert wird der linken Seite zugewiesen. Aufgrund dieser Reihenfolge sind Ausdrücke wie b = b + 1 möglich. Erst wird die Summe aus dem aktuellen Wert von b und 1 gebildet. Die wird dann b wieder zugewiesen, wodurch b einen neuen Wert repräsentiert.

Objekt: Alle Werte, Funktionen und andere Dinge mehr sind in Python Objekte. Jedes Objekt stellt eine computer-interne Darstellung des von ihm repräsentierten Wertes dar. Üblicherweise verfügen Objekte auch über Methoden. Das sind an das jeweilige Objekt gebundene Funktionen, die auf den Daten des Objekts operieren. Als Beispiel, (deutlich) später mehr dazu, besitzt jedes int-Objekt (ganze Zahl) eine Methode namens __add__(). Sie wird aufgerufen und ausgeführt, wenn wir mit dem +-Operator zwei ganze Zahlen addieren. Der Operator ist in Python lediglich eine Kurzschreibweise für den Methodenaufruf, der getätigt wird, die Addition durchzuführen.

Objektreferenzen

Variablen sind in Python Referenzen auf die Identität (Speicheradresse) von Objekten. Du kannst Dir das wie folgt visualisieren:

Variablen Referenzen Python
Variablen sind Python Objektreferenzen

Eine Variable zeigt auf die Speicherstelle an der ein Objekt, welches einen Wert hat, gespeichert wird. Das „Schubladenmodell“, dem eine Variable als Kasten mit einem Etikett, auf dem der Variablenname steht, und in dem Kasten der Wert liegt, wie viele Autoren es verwenden, um Variablen zu visualisieren, ist in Bezug auf Python schlichtweg falsch. Diese Vorstellung führt in die Irre.

Du kannst die Funktionen id() und type() verwenden, um Dir die ID beziehungsweise den Datentyp von Variablen und Werten anzusehen. Das eingangsgenannte Beispiel kannst Du gerne in IDLE ausprobieren.

IDLE type id Objekte
Datentyp und ID von Objekten und Werten anzeigen

Die angezeigten IDs können bei Dir anders lauten. Sie sind von Deiner Speicherausstattung und der Auslastung  des Hauptspeichers abhängig.