Python bietet folgende Standard-Datentypen:
Zahl
- als Integer-Zahl
- als lange Integer-Zahl mit unbegrenzter (?!) Größe
- als Gleitkommazahl
Alle Zahlen sind miteinander kombinierbar, bei verschiedenen Typen wird automatisch zum mächtigeren hin konvertiert.
intzahl = 5 lange_intzahl = 5L gleitkommazahl = 5.0 print 'Zahl: %d, Typ %s' % (intzahl, type(intzahl)) print 'Zahl: %ld, Typ %s' % (lange_intzahl, type(lange_intzahl)) print 'Zahl: %0.5f, Typ %s' %(gleitkommazahl, type(gleitkommazahl)) print
Hier wurden Zeichenkettenrepräsentationen in der bei "printf" üblichen Form in eine Zeichenkette "hineingewebt". Hinter der Zeichenkette folgt nach einem Prozentzeichen das Objekt, dessen Textdarstellung eingefügt werden soll. Sollen mehrere Objekte eingefügt werden, so muss ein Tupel (s.d.) auf das Prozentzeichen folgen. Alle "Nicht-Zahlen" werden als Strings ("%s") notiert.
Text (Zeichenkette, String)
Texte sind in der Länge nicht begrenzt. Textkonstanten werden in einfachen Hochkommata oder Anführungszeichen eingeschlossen notiert. Der Text endet mit dem Begrenzerzeichen, mit dem er begonnen hat.
txt1 = 'Ein Text' txt2 = "Noch ein Text" txt3 = 'Das Zeichen "\101" kann auch als "\\101" in Oktalschreibweise notiert werden' txt4 = "Es gibt die 'üblichen' Ersatzdarstellungen:\tfür Tabulator z.B." print txt1 print txt2 print txt3 print txt4 print
Texte können nicht geändert werden, man kann jedoch sehr leicht aus einem bestehenden Text einen veränderten erzeugen. Vielfältige weitere Möglichkeiten siehe "Sequenzen".
Es gibt ein String-Modul, das unter anderem folgende Dienste bietet:
- Klein- und Großbuchstabenwandlung
- Suchen, Ersetzen, Zerlegen, Zusammenfügen, Leerzeichen entfernen u.a.m.
Boolean
Einen besonderen Typ für Wahrheitswerte kennt Python nicht! Jedes Objekt kann als Bedingung aufgefasst werden; einige besondere Objekte, nämlich alle, die leer oder Null sind, sowie "None" gelten als "falsch", alle anderen als "wahr".
objekte = [0, 1, 0.0, 0.1, 0L, 1L, (), ('a',), [], [0], '', 'Emil', 'None', None, {}, {1:'a'}] for o in objekte: print 'Das Objekt', o, 'vom Typ', type(o), 'ist', if o: print 'wahr' else: print 'falsch'
Als Ergebnis eines Vergleiches werden 0 bzw. 1 zurückgeliefert.
Selbstdefinierte Datentypen (wie z.B. ADT = Abstract Data Type, wie in manche Sprachen bieten)
gibt es nicht; man kann den gewünschten Effekt jedoch mit Klassen erreichen.
Redaktionell verantwortlich: Frank Oppermann
Der Bildungsserver Berlin-Brandenburg ist ein Service des Landesinstituts für Schule und Medien Berlin-Brandenburg im Auftrag der Senatsverwaltung für Bildung, Jugend und Familie (Berlin) und des Ministeriums für Bildung, Jugend und Sport Land Brandenburg.