Der Datentyp int kann ganze Zahlen im Bereich von -2.147.483.648 bis 2.147.483.647 darstellen.
Mit dem Datentyp long werden ebenfalls ganze Zahlen dargestellt, die theoretisch beliebig groß sein können. Beim Arbeiten in der Kommandozeile erkennt man den Datentyp long an einem angehängten L:
>>> 10**9 1000000000 >>> 10**35 100000000000000000000000000000000000L
Beachte: Im Zusammenhang mit Ganzzahlen steht der Operator „/“ für die Ganzzahldivision. Die Eingabe 11/4 liefert deshalb nicht das Ergebnis 2.75, sondern 2. Den Rest der Ganzzahldivision erhält man mit dem Modulo-Operator „%“.
>>> 11/4 2 >>> 11%4 3
In Python können Zahlen in verschiedenen Stellenwertsystemen geschrieben werden. So kennzeichnet z.B. der Präfix „0x“ eine Zahl im Hexadezimalsystem. Die Ausgabe erfolgt standardmäßig im Dezimalsystem.
>>> 0xff 255
Kommazahlen werden durch den Datentyp float dargestellt. Die Notation erfolgt mit Punkt, nicht mit Komma:
>>> 3.141 / 2 1.5705
Beachte: Sobald Dividend oder Divisor eine Kommazahl ist, steht „/“ nicht mehr für die Ganzzahldivision:
>>> 11 / 4.0 2.75
Python unterstützt auch die Exponentialschreibweise:
>>> 3.1e4 + 4e3 35000.0
Eine Variable vom Datentyp bool kann nur die Werte „Wahr“ oder „Falsch“ annehmen, in Python-Syntax True oder False. Daten vom Typ bool können mit den logischen Operatoren not. and und or verknüpft werden.
>>> 3 < 4 True >>> x = (7.5 < 7.4) >>> x False >>> x or (3+8 == 11) # '==' ist der Vergleichsopertor True
Python besitzt einen eigenen Datentyp für komplexe Zahlen. Er ist hier nur der Vollständigkeit wegen aufgeführt.
Sequentielle Datentypen können Folgen von gleichartigen oder verschiedenen Elementen verwalten. Die Elemente haben eine definierte Reihenfolge und man kann über Indizes aus sie zugreifen.
Hier zunächst nur ein Beispiel, das einige Möglichkeiten zeigen soll. Der Abschnitt wird bei Bedarf ergänzt.
>>> einkaufen = ["Saft", "Brot", "Schokolade", "Tomaten"] >>> len(einkaufen) 4 >>> einkaufen[2] 'Schokolade' >>> del einkaufen[2] >>> einkaufen ['Saft', 'Brot', 'Tomaten'] >>> einkaufen.sort() >>> einkaufen ['Brot', 'Saft', 'Tomaten']
Mit tuple können wie mit list Listen verarbeitet werden. Der Unterschied besteht darin, dass es sich bei list um einen mutable Datentyp und bei tuple um einen immutable Datentyp handelt. Der Unterschied wird erst verständlich, wenn man weiß, wie Python die einzelnen Datentypen im Speicher ablegt und soll deshalb hier nicht beschrieben werden.
str ist die Abzürzung für „String“. Strings sind Zeichenketten, also Folgen von Buchstaben, Ziffern und einigen Sonderzeichen. Der „+“-Operator hängt zwei Strings aneinander.
>>> a = "Guten" >>> b = " " >>> c = "Tag" >>> a+c 'GutenTag' >>> a+b+c 'Guten Tag'
Python kann mit Strings sehr viele Dinge machen, hier nur ein paar wenige Beispiele:
>>> len("Hallo")
5
>>> "b" in "Hallo"
False
>>> "H" in "Hallo"
True
>>> text = "Der Frosch und der Igel"
>>> text.replace("Frosch","Hase")
'Der Hase und der Igel'
>>> text.upper()
'DER FROSCH UND DER IGEL'
>>> text.center(40)
' Der Frosch und der Igel '
Im Datentyp unicode können auch Umlaute oder das „ß“ verarbeitet werden.
Datentypen der Kategorie Mappings stellen Zuordnungen zwischen verschiedenen Objekten her.
Der Name dict steht für den Datentyp Dictionary. Ein Dictionary kann beliebig viele Schlüssel/Wert-Paare enthalten. Ein Schlüssel muss dabei nicht zwingend eine ganze Zahl sein. Man kann damit z.B. (wer hätte das gedacht..?) ein Wörterbuch realisieren:
>>> buch={"Hund":"dog",
"Katze":"cat",
"Pferd":"horse",
"Dinosaurier":"dinosaur"}
>>> buch["Pferd"]
'horse'
Eine Menge ist eine ungeordnete Ansammlung von Elementen. Jedes Element befindet sich nur einmal in der Menge.
Hier nur ein kurzes Beispiel für die Deklaration und Verwendung von Mengen:
>>> menge1=set([2,4,6,8,10,12,14,16,18,20]) >>> menge2=set([1,2,3,4,5,6,7,8,9,10]) >>> menge1 | menge2 set([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 14, 16, 18, 20]) >>> menge1 & menge2 set([8, 2, 4, 10, 6])
Genau wie bei list und tuple gibt es auch für die Mengen einen mutable-Datentyp und einen immutable-Datentyp. Letzterer wird mit frozenset bezeichnet. Die Erklärung sprengt im Moment den Rahmen.