Zum Inhalt springen

Python - Syntax - Datentypen

Python - Syntax - Datentypen


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

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

gibt es nicht; man kann den gewünschten Effekt jedoch mit Klassen erreichen.

Redaktionell verantwortlich: Frank Oppermann