Grundlagen zu Zeichenfolgen in Python
Obwohl Zeichenfolgen in Python einfach und unkompliziert zu sein scheinen, wohnt Zeichenfolgenregeln eine gewisse Komplexität inne, deren Verständnis wichtig ist. Durch die Kenntnis der Regeln können Sie vermeiden, dass Sie beim Ändern von Werten oder dem Formatieren von Text vom Zeichenfolgenverhalten überrumpelt werden.
Eine einfache Zeichenfolge
In unserem Beispiel für diese Lerneinheit verfügen Sie über eine einzelne Information zum Mond, die einer Variablen zugewiesen ist:
fact = "The Moon has no atmosphere."
print(fact)
Die Ausgabe zeigt, dass der Text der Variablen zugewiesen wurde: The Moon has no atmosphere.
Unveränderlichkeit von Zeichenfolgen
In Python sind Zeichenfolgen unveränderlich. Das heißt, sie können sich nicht ändern. Diese Eigenschaft des Zeichenfolgentyps kann überraschend sein, da Python beim Ändern von Zeichenfolgen keine Fehler ausgibt.
Sie müssen der einzelnen Informationen, die einer Variablen zugewiesen ist, eine weitere Information (Satz) hinzufügen. Es scheint, als würde das Hinzufügen des zweiten Fakts die Variable ändern, wie im folgenden Beispiel gezeigt:
fact = "The Moon has no atmosphere."
fact + "No sound can be heard on the Moon."
Die Ausgabe kann beispielsweise wie folgt aussehen: The Moon has no atmosphere.No sound can be heard on the Moon.
Obwohl es so aussehen könnte, als ob wir die Variable fact
geändert hätten, zeigt eine schnelle Überprüfung des Werts, dass der ursprüngliche Wert unverändert ist:
fact = "The Moon has no atmosphere."
fact + "No sound can be heard on the Moon."
print(fact)
Ausgabe: The Moon has no atmosphere.
Der Trick besteht darin, dass Sie einen Rückgabewert verwenden müssen. Wenn Sie Zeichenfolgen hinzufügen, ändert Python keine Zeichenfolge, gibt jedoch eine neue Zeichenfolge als Ergebnis zurück. Um dieses neue Ergebnis beizubehalten, weisen Sie es einer neuen Variablen zu:
fact = "The Moon has no atmosphere."
two_facts = fact + "No sound can be heard on the Moon."
print(two_facts)
Ausgabe: The Moon has no atmosphere.No sound can be heard on the Moon.
Vorgänge mit Zeichenfolgen erzeugen immer neue Zeichenfolgen als Ergebnis.
Informationen zur Verwendung von Anführungszeichen
Sie können Python-Zeichenfolgen in einfache, doppelte oder dreifache Anführungszeichen einschließen. Obwohl diese untereinander austauschbar sind, ist es am besten, einen Typ konsistent innerhalb eines Projekts zu verwenden. Die folgende Zeichenfolge verwendet beispielsweise doppelte Anführungszeichen:
moon_radius = "The Moon has a radius of 1,080 miles."
Wenn eine Zeichenfolge jedoch Wörter, Zahlen oder Sonderzeichen (eine Teilzeichenfolge) enthält, die ebenfalls in Anführungszeichen eingeschlossen sind, sollten Sie eine andere Anführungszeichenart verwenden. Wenn eine Teilzeichenfolge beispielsweise doppelte Anführungszeichen verwendet, schließen Sie die gesamte Zeichenfolge wie hier gezeigt in einfache Anführungszeichen ein:
'The "near side" is the part of the Moon that faces the Earth.'
Analog, wenn an einer beliebigen Stelle innerhalb der Zeichenfolge einfache Anführungszeichen (oder ein Apostroph wie im folgenden Beispiel bei (englisch) Moon's) vorhanden sind, schließen Sie die gesamte Zeichenfolge in doppelte Anführungszeichen ein:
"We only see about 60% of the Moon's surface."
Werden nicht einfache und doppelte Anführungszeichen korrekt abwechselnd verwendet, kann dies dazu führen, dass der Python-Interpreter wie hier gezeigt einen Syntaxfehler auslöst:
'We only see about 60% of the Moon's surface.'
File "<stdin>", line 1
'We only see about 60% of the Moon's surface.'
^
SyntaxError: invalid syntax
Wenn der Text eine Kombination aus einfachen und doppelten Anführungszeichen enthält, können Sie dreifache Anführungszeichen verwenden, um Probleme mit dem Interpreter zu vermeiden:
"""We only see about 60% of the Moon's surface, this is known as the "near side"."""
Mehrzeiliger Text
Es gibt verschiedene Möglichkeiten, mehrere Textzeilen als einzelne Variable zu definieren. Die gängigsten Methoden sind:
- Verwenden eines Zeilenvorschubzeichens (
\n
). - Verwenden dreifacher Anführungszeichen (""").
Neue-Zeile-Zeichen unterteilen den Text beim Anzeigen der Ausgabe in mehrere Zeilen:
multiline = "Facts about the Moon:\n There is no atmosphere.\n There is no sound."
print(multiline)
Facts about the Moon:
There is no atmosphere.
There is no sound.
Sie können dasselbe Ergebnis erzielen, indem Sie dreifache Anführungszeichen verwenden:
multiline = """Facts about the Moon:
There is no atmosphere.
There is no sound."""
print(multiline)