next up previous contents index 6163656769
Next: 2.3 Listen Up: 2. Datenobjekte Previous: 2.1 Zahlen   Contents   Index


2.2 Strings

Strings sind Zeichenketten, die durch Hochkommata eingeschlossen werden. Dabei ist es egal, ob Sie zwei oder ein Hochkomma setzen. Verwenden Sie gar drei Hochkommata, kann der Text beliebig lang werden. Die Anweisung

>>>beispiel='Dies ist ein Beispiel.'
weist dem Objekt »'Dies ist ein Beispiel.'« den Namen »beispiel« zu und kann daher einfach ausgedruckt werden. Bedenken Sie, dass Namen keine Zeichenketten sind und niemals durch Hochkommata eingeschlossen werden dürfen. Die Bezeichnung beispiel ist Name für ein Objekt. Im Gegensatz dazu ist »'beispiel'« kein Name für ein Objekt, sondern das Objekt selbst, das den Inhalt 'beispiel' besitzt. Genauso wie ein alleinstehendes Zahlenobjekt steht der Aufruf

>>>'beispiel'
in der Luft und kann nach der Einrichtung nicht wieder aufgerufen werden, da eine Zuweisung zum Namen fehlt.

Jetzt kommt etwas Interessantes. Führen Sie aus

>>>'Bete '+'und '+'arbete.'
Wie Sie sehen, hat der Additionsoperator hier die Funktion einer Verkettung. Er generiert allerdings einen neuen String, also ein neues Objekt, das einem Namen zugewiesen werden kann, wie im folgenden Beispiel

>>>ergebnis='Bete '+'und '+'arbete.'

>>>ergebnis

Genau wie im Falle eines Gemüsetopfes, aus dem Sie sich etwas auf den Teller füllen, können Sie bei Strings auf Teile desselben zugreifen. Dieses Herausziehen von Teilen mit Hilfe eines Indexes nennt man slicing. Allerdings ist dieser Vergleich nicht so besonders gut, denn es bleibt noch genauso viel im Topf wie vorher. Es wird lediglich ein neuer Topf eingerichtet, der den herausgegriffenen Teil als Kopie enthält.

>>>ergebnis[0]
liefert Ihnen den ersten Buchstaben. Jawohl, bei Python fängt man immer mit dem Zählen bei $0$ und nicht bei $ 1$ an!

>>>ergebnis[2:6]
liefert Ihnen als Ergebnisstring »'te u'«, also den String vom dritten bis zum siebten Buchstaben2.3. Genausogut können auch eine Grenze fortgelassen werden

>>>ergebnis[:6]
oder sogar beide

>>>ergebnis[:]
Der letzte Fall scheint etwas sinnlos zu sein. Aber er ist es nicht, wenn Sie bedenken, dass »ergebnis[:]« keine Namenszuweisung ist (!!), sondern ein ganz neuer String, der mangels Namens in der Luft hängt. Eine Zuordnung

>>>neuerString=ergebnis[:6]
»rettet« gewissermassen den Inhalt »Bete u«, indem er dem Objekt »ergebnis[:6]« den Namen »neuerString« gibt.

Jetzt wissen wir das Wichtigste über Zeichenketten2.4. Noch einmal: wo ist der Unterschied zwischen den Objekten $ 2$ und $ '2'$? Nun, im zweiten Fall ist es keine Zahl, sondern ein Zeichenobjekt. Sie wissen bereits, was

>>>2+3
bedeutet. Aber was gibt

>>>'2'+'3'
am Ende? Die Zahl »23«? Nun, versuchen Sie einmal mit dem Ergebnis eine Division durchzuführen. Sie werden hoffentlich keine Überraschung erleben.

Strings ähneln sehr stark den Apfelsaftgläsern, denn sie enthalten »Datenmaterial«, das man teilweise ausschütten kann wie wir gesehen haben. Nun lernen wir die Regale kennen, in die wir die Apfelsaftgläser stellen können.


next up previous contents index 6163656769
Next: 2.3 Listen Up: 2. Datenobjekte Previous: 2.1 Zahlen   Contents   Index
Heiko Schroeder 2003-03-19