Was sind Texte?
Computer können natürlich nicht nur mit Zahlen umgehen, wie der Begriff Computer zunächst den Anschein erweckt.
Denn du kannst natürlich mit deinem Computer
- Texte lesen und schreiben
- Bilder bearbeiten
- Videos abspielen
- Musik hören
- Spielen
Dahinter stecken natürlich Computer-Programme, geschrieben z.B. in Python oder in einer von vielen anderen Programmiersprachen.
Ein Text, in der Informatik String genannt, in Python der Datentyp str, bezeichnet eine Folge von Zeichen, die in zwei Hochkommata " oder ` eingeschlossen sind.
Erlaubte Zeichen sind Groß- und Kleinbiuchstaben, Ziffern, Satzzeichen und viele Sonderzeichen wie z.B. Klammern oder der Unterstrich.
Die Anzahl der Zeichen in einem String kann beliebig groß sein. Es gibt aber auch einen String, der kein(!) Zeichen enthält (s.u.)
Beispiele:
- "Hallo Python"
- "eins_zwei_drei"
- "123"
- Dieser String sieht zwar so aus wie die Zahl 123, doch es ist ein Text, bestehend aus den drei Zeichen 1, 2 und 3. Man kann also mit diesem Text im Sinne der Mathematik nicht rechnen.
- ""
- Dies ist der leere String, also der Text, der kein Zeichen enthält. Wir werden später erfahren, wo dieser String sinnvoll zu nutzen ist.
- "§$%&/()"
Mit Hilfe der Zuweisung = kann man einen String - analog zu Zahlen - in einer Variablen aufbewahren, wie z.B.:
meinName = "Erna"
Den Wert einer solchen Variablen kann man anzeigen lassen:
print(meinName)
![]() |
|
Nebenstehend findest du ein Python-Programm, in dem ein String benutzt wird.
Die Python-Anweisung print hat in dem Programm zwei sogenannte Parameter, also zwei durch ein Komma getrennte Angaben.
|
meinName = input("Wie heisst du?")
print("Hallo", meinName)
|
Länge und Indizierung von Texten
Die Anzahl der Zeichen, aus denen ein String besteht, kann mit der Python-Anweisung
len()
bestimmt werden. Also liefert die Anweisung len("Hallo!") den Wert 6.
Jedes Zeichen in einem String steht an einer festgelegten Position, Index genannt.
Die Numerierung beginnt bei 0, so dass das Zeichen am Anfang der Zeichenkette den Index 0 hat. Der Index des letzten Zeichens ist dann um 1 kleiner als die Länge des Strings.
Am Beispiel des Strings "Hallo!":
Zeichen | H | a | l | l | o | ! |
Index | 0 | 1 | 2 | 3 | 4 | 5 |
Mit Hilfe der Indizierung kann man auf die einzelnen Zeichen eines Strings zugreifen. Das geschieht, indem man den Index in eckige Klammern [ und ] setzt und diese Struktur an den String bzw. die String-Variable anhängt.
Z.B. liefert die folgende Anweisungsfolge das 5-te Zeichen des Textes, also das Zeichen o
text = "Hallo Paul"
text[4]
![]() |
|
Versuche, diese Frage zu beantworten, ohne das Programm in deiner Python-Umgebung zu starten!
|
zeile = "Hallo Python!" |
print(zeile[laenge-1])
erzeugt diese Ausgabe.
Manchmal ist es sinnvoll, den Index (also die Stelle der Zeichen in dem Text) ausgehend vom letzten Zeichen sozusagen von rechts nach links zu zählen. Dazu benutzut man negative Indizes: Z.B. liefert die folgende Anweisungsfolge das Zeichen o
Zeichen
H
a
l
l
o
!
Index
-6
-5
-4
-3
-2
-1
text = "Hallo Paul"
text [-6]
Die Indizierung erlaubt es, auch auf mehr als ein Zeichen des Strings zuzugreifen. Dazu gibt man zwischen den eckigen Klammern zwei Werte an, getrennt durch Dann liefert der Aufruf Z.B. liefert die folgende Anweisungsfolge den Text "all" mit 3 Zeichen: Schreibe ein Python-Programm, das nach Eingabe eines Textes den inneren Teil des Textes ausgibt. Dabei soll hier vereinbart werden, dass der innere Teil eines Textes aus allen Zeichen des Textes bis auf das erste und letzte Zeichen besteht, so dass zu B. bei der Eingabe von Hallo Python! der Text allo Python ausgegeben wird.:
meinText[a:b]
denjenigen Teiltext, der bei dem Zeichen am Index a beginnt und vor dem Zeichen mit dem Index b endet. Der Teiltext besteht also immer aus b-a Zeichen.text = "Hallo Paul"
text [1:4]
Aufgabe
Mit Texten kann man rechnen!
Interessanterweise kann man in Zusammenhang mit Strings die Rechenoperatoren + und * anwenden. Was dabei passiert, zeigen das folgende Bild:
Die String-Addition fügt also die Teilstrings (ohne Leerzeichen!) aneinander; die String-Multiplikation vervielfacht den angegebenen String.
Wie beim Rechnen mit Zahlen gelten auch hier die Vorrangregeln (Punkt- vor Strichrechnung) sowie die Klammerregel:
![]() |
Welche Ausgaben werden durch die folgenden Python-Anweisungen erzeugt? Versuche, die Antworten zunächst vorherzusagen, und teste es dann in deiner Python-Umgebung:
|