====== Datentypen ====== ===== Numerische Datentypen ===== ==== int ==== Der Datentyp ''int'' kann ganze Zahlen im Bereich von -2.147.483.648 bis 2.147.483.647 darstellen. ==== long ==== 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 ==== float ==== 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 ==== bool ==== 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 ==== complex ==== Python besitzt einen eigenen Datentyp für komplexe Zahlen. Er ist hier nur der Vollständigkeit wegen aufgeführt. ===== Sequentielle Datentypen ===== 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. ==== list ==== 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'] ==== tuple ==== 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 ==== ''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 ' ==== unicode ==== Im Datentyp ''unicode'' können auch Umlaute oder das "ß" verarbeitet werden. ===== Mappings ===== Datentypen der Kategorie Mappings stellen Zuordnungen zwischen verschiedenen Objekten her. ==== dict ==== 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' ===== Mengen ===== Eine Menge ist eine ungeordnete Ansammlung von Elementen. Jedes Element befindet sich nur einmal in der Menge. ==== set ==== 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]) ==== frozenset ==== 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.