Python Unterrichtsmaterial

Datentypen

Python bietet folgende Standard-Datentypen

Einfache Datentypen

Zahl
Zahlentypen sind
Boolean

Wahrheitswerte sind True und False, allerdings werden auch andere Werte als Wahrheitswerte akzeptiert. Jedes Objekt kann also in einer Bedingung auftreten. Objekte, die leer sind und "None" gelten als "falsch", alle anderen als "wahr".
Zulässig ist also:

>>> if not []: print 'geht'
geht

Strukturierte Datentypen

Schon Zeichenketten [strings] sind keine einfachen Datentypen mehr, sie gehören zu den strukturierten Datentypen, in der Hilfe als Sequence Types bezeichnet. Im Gegensatz zu strings und Tupeln sind Listen veränderbar, man kann also über den Index schreibend zugreifen und sogar die Struktur durch Einfügen und Löschen von Teillisten usw. ändern.

Text

Texte, also Zeichenketten, sind in der Länge nicht begrenzt. Textkonstanten werden entweder in einfachen Hochkommata oder doppelten Anführungszeichen eingeschlossen notiert. Am Ende muss dann dasselbe Zeichen stehen. Die Definitionen

txt1 = 'Ein Text'
txt2 = "Noch ein Text"
txt3 = "Es gibt 'Kurzzeichen':\nfür newline \tfür Tabulator z.B."
liefern
>>> print txt1
Ein Text
>>> print txt2
Noch ein Text
>>> print txt3
Es gibt Kurzzeichen:
für newline      für Tabulator z.B.
Texte können nicht geändert werden, man kann jedoch sehr leicht aus einem bestehenden Text einen veränderten erzeugen.

Tupel

Tupel sind nicht veränderbare Reihungen von beliebigen Objekten, die untereinander auch unterschiedlichen Typ haben können. Um ein Tupel zu erzeugen, muss man die Liste der Objekte durch Komma trennen und man kann die eigentlich notwendigen Klammern weglassen.

>>> x=1,'und',2
geht zwar, besser lesbar ist aber die Schreibweise
>>> x=(1,'und',2)

x=() erzeugt - wozu auch immer - ein leeres Tupel. Dabei sind die Klammern notwendig und für ein Tupel mit einem Element muss man nach dem Element ein Komma einsetzen: x=('eines',). Andernfalls wird die Klammerung einfach ignoriert.

Man kann auf die einzelnen Positionen im Tupel über den Index zugreifen, allerdings nur lesend, da Tupel nicht veränderbar sind. Es geht also:
>>> adresse='hans','meier','hamburg'
>>> adresse[0]
'hans'

Listen

In Listen sind die einzelnen Objekte veränderbar. Eine Liste erzeugt man, indem man ihre Elemente in eckige Klammern schreibt und die Objekte durch Komma trennt. Die eckigen Klammern sind hier zwingend notwendig.

Im Gegensatz zu den Tupeln kann man hier einzelnen Objekten oder ganzen Abschnitten (slices) Werte zuweisen.

Listen sind Instanzen von Klassen und verfügen über eine Reihe von Methoden.

Mit append kann die Liste verlängert werden.

>>> z=[1, 2, 'drei', 'vier', 'fuenf', 3, 4, 5, 6]
>>> z.append('noch ein objekt')
>>> z
[1, 2, 'drei', 'vier', 'fuenf', 3, 4, 5, 6, 'noch ein objekt']
Aber ACHTUNG!!! Die Liste selbst wird dabei verändert! Will man die alte Liste unverändert behalten, reicht es nicht einmal, sie einer neuen Variablen zuzuweisen und diese zu bearbeiten. Eine Lösung ist das elementweise Aufbauen der neuen Liste.

Dictionary

Einen interessanten Datentyp stellt die Klasse dict zur Verfügung, das Dictionary [Mapping Types].

Die Schreibweise der Definition - die geschweiften Klammern sind zwingend - und das einfache Beispiel

>>> D={'hund':'bellt', 'katze':'miaut'}
>>> D['hund']
'bellt'
zeigen, dass Paare von key und value, getrennt durch den Doppelpunkt, aufgenommen werden. Standardmäßig erfolgt der Zugriff über den key. Aber auch andere Zugriffe sind möglich.


Zurück zur Homepage.

© claus albowski