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
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ängeAusgabe:
P
n
n
6Texte 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 assignmentAusschnitte (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]) # umgekehrtAusgabe:
Prog
Prog
mieren
ieren
Pormirn
nereimmargorPVerketten 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
4Escape-Zeichen
Mit dem Rückwärtsschrägstrich schreibst du Sonderzeichen:
| Schreibweise | Bedeutung |
|---|---|
\n | neue Zeile |
\t | Tabulator |
\\ | ein Rückwärtsschrägstrich |
\" und \' | Anführungszeichen im Text |
\u00e4 | Unicode-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üßeZeichenketten durchlaufen
Eine for-Schleife läuft Zeichen für Zeichen durch den Text:
for buchstabe in "abc":
print(buchstabe)Ausgabe:
a
b
cMerke
- 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,inprüft Enthaltensein\n,\t,\\; Raw-Stringr"..."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
Wie kehrst du den Text s um?
- s[::-1] (richtig)
- s.reverse()
- reversed(s) liefert direkt einen Text
- s[-1:0]
= "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