EMZETT.
Login

Kurz: Ein String (str) ist eine Folge von Zeichen. Du schreibst ihn in einfachen oder doppelten Anführungszeichen. Python verarbeitet Unicode, also auch Umlaute, Emojis und Zeichen aus allen Schriftsystemen.

Teil des Kurses Python

Kapitel 9 von 44 im Kurs Python. Mit Fortschritt, Quiz und Zertifikat auf der Lernseite.

Ein String (str) ist eine Folge von Zeichen. Du schreibst ihn in einfachen oder doppelten Anführungszeichen. Python verarbeitet Unicode, also auch Umlaute, Emojis und Zeichen aus allen Schriftsystemen.

a = "Hallo"
b = 'Welt'
c = "Er sagte: 'Hi'"          # einfache Anführungszeichen im Text
d = 'Sie sagte: "Hallo"'
print(a, b)
print(c)
print(d)

Ausgabe:

Hallo Welt
Er sagte: 'Hi'
Sie sagte: "Hallo"

Zeichen und Länge

Jedes Zeichen hat eine Position (Index), gezählt ab 0. Negative Indizes zählen von hinten:

wort = "Python"
print(wort[0])      # erstes Zeichen
print(wort[5])      # sechstes Zeichen
print(wort[-1])     # letztes Zeichen
print(len(wort))    # Länge

Ausgabe:

P
n
n
6

Texte sind unveränderlich: Du kannst ein einzelnes Zeichen nicht überschreiben, sondern baust einen neuen Text.

wort = "Python"
wort[0] = "J"

Fehlermeldung:

Traceback (most recent call last):
  File "beispiel.py", line 2, in <module>
    wort[0] = "J"
TypeError: 'str' object does not support item assignment

Ausschnitte (Slicing)

Mit text[von:bis] holst du einen Teil. Das Ende ist nicht enthalten. Fehlt eine Angabe, geht es bis zum Anfang bzw. Ende. Ein dritter Wert ist die Schrittweite:

s = "Programmieren"
print(s[0:4])      # Prog
print(s[:4])       # ab Anfang
print(s[7:])       # bis Ende
print(s[-5:])      # die letzten fünf
print(s[::2])      # jedes zweite Zeichen
print(s[::-1])     # umgekehrt

Ausgabe:

Prog
Prog
mieren
ieren
Pormirn
nereimmargorP

Verketten und Wiederholen

print("Hallo" + " " + "Welt")
print("ha" * 3)
print("-" * 20)

Ausgabe:

Hallo Welt
hahaha
--------------------

Zahlen musst du vor dem Verketten in Text umwandeln: "Alter: " + str(17). Mit f-Strings (siehe Kapitel Ein- und Ausgabe) geht das bequemer.

Prüfen und Durchsuchen

satz = "Python ist eine Programmiersprache"
print("ist" in satz)
print("Java" not in satz)
print(satz.startswith("Python"))
print(satz.endswith("sprache"))
print(satz.find("eine"))       # Position oder -1
print(satz.count("e"))

Ausgabe:

True
True
True
True
11
4

Escape-Zeichen

Mit dem Rückwärtsschrägstrich schreibst du Sonderzeichen:

SchreibweiseBedeutung
\nneue Zeile
\tTabulator
\\ein Rückwärtsschrägstrich
\" und \'Anführungszeichen im Text
\u00e4Unicode-Zeichen (hier ä)

Raw-Strings mit vorangestelltem r ignorieren Escapes, praktisch für Dateipfade und reguläre Ausdrücke:

print("C:\\Users\\Mia")
print(r"C:\Users\Mia")
print("Zeile 1\nZeile 2")
print("Gr\u00fc\u00dfe")

Ausgabe:

C:\Users\Mia
C:\Users\Mia
Zeile 1
Zeile 2
Grüße

Zeichenketten durchlaufen

Eine for-Schleife läuft Zeichen für Zeichen durch den Text:

for buchstabe in "abc":
    print(buchstabe)

Ausgabe:

a
b
c

Merke

  • Index ab 0, negative Indizes zählen von hinten, len() liefert die Länge
  • Slicing: text[von:bis:schritt], das Ende ist ausgeschlossen
  • Strings sind unveränderlich
  • + verkettet, * wiederholt, in prüft Enthaltensein
  • \n, \t, \\; Raw-String r"..." für Pfade

Übungsaufgabe

Gib von dem Wort “Programmiersprache” die ersten drei und die letzten drei Buchstaben aus, und danach das Wort rückwärts.

Quiz zur Selbstkontrolle

?

  • yth (richtig)
  • Pyt
  • ytho
  • ython

= "x" für einen String ein Fehler?

  • Strings sind unveränderlich (richtig)
  • Der Index 0 existiert nicht
  • Man darf nur Zahlen zuweisen
  • Das Gleichheitszeichen ist falsch

Weiter im Kurs

Zurück: Ein- und Ausgabe

Weiter: String-Methoden

Alle Kapitel: Python im Überblick