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.