Kapitel 4
Standard-Datentypen
86
Datentypen für numerische Objekte (Zahlen) sind
ganze Zahlen (int)
Gleitkommazahlen (float)
komplexe Zahlen (complex)
Für Wahrheitswerte (
True oder False) gibt es den Datentyp bool.
Die bisher genannten Datentypen nennt man einfache Datentypen, denn ihre Objekte tra-
gen elementare Werte. Darüber hinaus gibt es auch Objekte, die aus mehreren Einzelobjek-
ten zusammengesetzt sind. Man nennt sie Kollektionen oder Container-Objekte. Sie werden
unterteilt in Sequenzen, Mengen und Abbildungen. Kollektionen bezeichnet man auch als
iterierbare Objekte. Das heißt, es ist möglich, alle Elemente der Kollektion nacheinander zu
durchlaufen.
Eine Sequenz ist eine geordnete Kollektion von Objekten. Ihre Elemente befinden sich in
einer bestimmten Reihenfolge und sind durchnummeriert. Wenn eine Sequenz die Länge
n hat, so werden die Elemente mit den Indizes 0, 1, ..., (n-1) gekennzeichnet. Das i-te
Element der Sequenz
a wird mit a[i] selektiert. Zu den Sequenzen gehören Zeichenketten
(
str), Tupel (tuple) und Listen (list). Während Tupel beliebige Elemente enthalten kön-
nen, bestehen Zeichenketten nur aus Zeichen.
Eine Menge ist eine ungeordnete Kollektion von Objekten, wobei jedes Objekt nur einmal
vorkommen darf.
Abbildungen (Mappings) sind endliche Mengen von Objekten, die durch (beinahe) willkür-
liche Werte indiziert werden. Der (momentan) einzige Abbildungstyp ist das Dictionary
(
dict). Ein merkwürdiger Typ ist NoneTyp. Zu ihm gehört nur ein einziges Objekt, das
durch das Literal
None repräsentiert wird. None ist ein Objekt ohne Wert (siehe Abschnitt
4.4, »NoneType« auf Seite 87).
Objekte, die bei ihrer Erschaffung einen festen Wert erhalten, den sie bis zu ihrer Zerstö-
rung behalten, bezeichnet man als unveränderbar (immutable). Zu den unveränderbaren
Typen gehören z.B. alle einfachen numerischen Datentypen (ganze Zahlen, Gleitkomma-
zahlen etc.), Zeichenketten und Tupel. Eine Liste dagegen ist änderbar (mutable), das heißt,
ihr Wert kann modifiziert werden.
In Abbildung 4.1 ist rechts zu jedem Datentyp ein Literal als Beispiel angegeben. Beachten
Sie: An der äußeren Form eines Literals kann man seinen Datentyp erkennen. So stehen
Zeichenketten immer in Anführungszeichen, Listen haben eckige und Tupel runde Klam-
mern und eine Ziffernfolge mit einem Punkt in der Mitte repräsentiert eine Gleitkomma-
zahl.
4.3 Typen und Klassen
Die Begriffe Typ und Klasse werden häufig synonym verwendet. Dennoch gibt es einen
Unterschied, der hier herausgestellt werden soll. Eine Klasse ist ein Bauplan für gleichartige
Objekte. In der Klassendefinition wird festgelegt, welche Attribute und Methoden die Objekte
der Klasse besitzen, aber auch, nach welchen Algorithmen die Methoden der Objekte arbei-
ten. Der Typ eines Objektes hingegen beschreibt nur, wie das Objekt verarbeitet werden
kann, das heißt, welche Operationen verfügbar sind. Der Typ ist die Schnittstelle zur Klasse,
in ihm ist das »Was«, aber nicht das »Wie« festgelegt. Eine Klasse wiederum kann man als

Get Python 3 - Lernen und professionell anwenden now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.