Wie man Text in Python 3 formatiert
###Einführung
Da Strings oft aus geschriebenem Text bestehen, gibt es viele Gelegenheiten, in denen wir eine größere Kontrolle darüber haben möchten, wie Strings aussehen, um sie durch Interpunktion, Zeilenumbrüche und Einrückungen für Menschen lesbarer zu machen.
In diesem Tutorial werden wir einige der Möglichkeiten durchgehen, wie wir mit Python-Strings arbeiten können, um sicherzustellen, dass jeglicher Ausgabe-Text korrekt formatiert ist.
##Voraussetzungen
Sie sollten Python 3 installiert und eine Programmierumgebung auf Ihrem Computer oder Server eingerichtet haben. Wenn Sie keine Programmierumgebung eingerichtet haben, können Sie auf die Installations- und Einrichtungsanleitungen für eine lokale Programmierumgebung oder für eine Programmierumgebung auf Ihrem Server verweisen, die für Ihr Betriebssystem (Ubuntu, CentOS, Debian usw.) geeignet ist.
##Zeichenfolgenliterale
Lass uns zunächst zwischen einem String-Literal und einem String-Wert unterscheiden. Ein String-Literal ist das, was wir im Quellcode eines Computerprogramms sehen, einschließlich der Anführungszeichen. Ein String-Wert ist das, was wir sehen, wenn wir die print()-Funktion aufrufen und das Programm ausführen.
Im “Hello, World!” Programm ist der Stringliteral "Hello, World!", während der Stringwert Hello, World! ohne Anführungszeichen ist. Der Stringwert ist das, was wir als Ausgabe in einem Terminalfenster sehen, wenn wir ein Python-Programm ausführen.
Aber einige String-Werte müssen möglicherweise Anführungszeichen enthalten, zum Beispiel wenn wir eine Quelle zitieren. Da String-Literale und String-Werte nicht gleichwertig sind, ist es oft notwendig, zusätzliche Formatierungen zu String-Literalen hinzuzufügen, um sicherzustellen, dass String-Werte so angezeigt werden, wie wir es beabsichtigen.
##Zitate und Apostrophe
Da wir in Python einfache oder doppelte Anführungszeichen verwenden können, sind wir auch in der Lage, Anführungszeichen innerhalb eines Strings einzufügen, indem wir doppelte Anführungszeichen innerhalb eines von einfachen Anführungszeichen umschlossenen Strings verwenden:
Info: Um dem Beispielcode in diesem Tutorial zu folgen, öffnen Sie eine Python-interaktive Shell auf Ihrem lokalen System, indem Sie den Befehl python3 ausführen. Dann können Sie die Beispiele kopieren, einfügen oder bearbeiten, indem Sie sie nach der >>> Eingabeaufforderung hinzufügen.
'Sammy says, "Hello!"'
Oder um einen besitzanzeigenden Apostroph in einem von Anführungszeichen umschlossenen Satz zu verwenden:
"Sammy's balloon is red."
Durch die Art und Weise, wie wir einfache und doppelte Anführungszeichen kombinieren, können wir die Darstellung von Anführungszeichen und Apostrophen innerhalb unserer Strings steuern.
##Mehrere Zeilen
Das Drucken von Zeichenfolgen auf mehreren Zeilen kann den Text für Menschen lesbarer machen. Mit mehreren Zeilen können Zeichenfolgen in einen sauberen und geordneten Text gruppiert, als Brief formatiert oder verwendet werden, um die Zeilenumbrüche eines Gedichts oder eines Songtextes beizubehalten.
Um Zeichenfolgen zu erstellen, die sich über mehrere Zeilen erstrecken, werden drei einfache Anführungszeichen ''' oder drei doppelte Anführungszeichen """ verwendet, um die Zeichenfolge einzuschließen.
'''
This string is on
multiple lines
within three single
quotes on either side.
'''
"""
This string is on
multiple lines
within three double
quotes on either side.
"""
Mit Dreifach-Anführungszeichen können Sie Strings über mehrere Zeilen drucken, um Text, insbesondere umfangreichen Text, leichter lesbar zu machen.
##Escape-Zeichen
Eine andere Möglichkeit, Strings zu formatieren, besteht darin, ein Escape-Zeichen zu verwenden. Escape-Zeichen beginnen alle mit der Rückwärtsschrägstrich-Taste ( \ ), kombiniert mit einem weiteren Zeichen innerhalb eines Strings, um den gegebenen String auf bestimmte Weise zu formatieren.
Hier ist eine Liste einiger der gängigen Escape-Zeichen:
| Escape-Zeichen | Wie es formatiert ist |
|---|---|
| \ | Neue Zeile in einem mehrzeiligen String |
| \ | Rückwärtsschrägstrich |
| ' | Apostroph oder Einzelzitat |
| " | Doppeltes Anführungszeichen |
| \n | Zeilenumbruch |
| \t | Tab (horizontale Einrückung) |
Lass uns ein Escape-Zeichen verwenden, um die Anführungszeichen zu dem Beispiel der oben genannten Anführungszeichen hinzuzufügen, aber diesmal verwenden wir doppelte Anführungszeichen:
print("Sammy says, \"Hello!\"")
Sammy says, "Hello!"
Durch die Verwendung des Escape-Zeichens \" sind wir in der Lage, doppelte Anführungszeichen zu verwenden, um einen String einzuschließen, der Text enthält, der zwischen doppelten Anführungszeichen zitiert ist.
Ähnlich können wir das Escape-Zeichen \' verwenden, um ein Apostroph in einem durch einfache Anführungszeichen eingeschlossenen String hinzuzufügen:
print('Sammy\'s balloon is red.')
Sammy's balloon is red.
Da wir jetzt das Escape-Zeichen verwenden, können wir ein Apostroph innerhalb eines Strings haben, der einfache Anführungszeichen verwendet.
Wenn wir dreifache Anführungszeichen verwenden, wie wir es oben gemacht haben, werden wir sehen, dass es oben und unten einen Abstand gibt, wenn wir die Zeichenfolge drucken. Wir können diese Abstände entfernen, indem wir die Escape-Taste \ oben in unserer Zeichenfolge und erneut am Ende der Zeichenfolge verwenden, während wir den Text innerhalb des Programms sehr lesbar halten.
"""\
This multi-line string
has no space at the
top or the bottom
when it prints.\
"""
Ähnlich können wir das Escape-Zeichen \n verwenden, um Zeilen zu trennen, ohne die enter- oder return-Taste zu drücken:
print("This string\nspans multiple\nlines.")
This string
spans multiple
lines.
Wir können auch Escape-Zeichen kombinieren. Lassen Sie uns einen mehrzeiligen String drucken und Tabulatorabstände für eine aufgelistete Liste einfügen, zum Beispiel:
print("1.\tShark\n2.\tShrimp\n10.\tSquid")
1. Shark
2. Shrimp
10. Squid
Die horizontale Einrückung, die mit dem Escape-Zeichen \t bereitgestellt wird, sorgt für die Ausrichtung in der zweiten Spalte im obigen Beispiel, wodurch die Ausgabe für Menschen äußerst gut lesbar wird.
Obwohl das \n Escape-Zeichen gut für kurze Zeichenfolgen funktioniert, ist es wichtig, sicherzustellen, dass der Quellcode auch für Menschen lesbar ist. Bei langen Zeichenfolgen ist häufig der Ansatz der dreifachen Anführungszeichen für mehrzeilige Zeichenfolgen vorzuziehen.
Escape-Zeichen werden verwendet, um zusätzliche Formatierungen in Zeichenfolgen hinzuzufügen, die möglicherweise schwer oder unmöglich zu erreichen sind. Ohne Escape-Zeichen, wie würden Sie die Zeichenfolge Sammy sagt: "Die Farbe des Ballons ist rot." konstruieren?
##Rohzeichen
Was ist, wenn wir keine besondere Formatierung innerhalb unserer Strings wollen? Zum Beispiel müssen wir möglicherweise Strings von Computer-Code vergleichen oder bewerten, die absichtlich den Rückwärtsschrägstrich verwenden, sodass wir nicht möchten, dass Python ihn als Escape-Zeichen verwendet.
Ein roher String sagt Python, dass es alle Formatierungen innerhalb eines Strings ignorieren soll, einschließlich Escape-Zeichen.
Wir erstellen einen rohen String, indem wir ein r vor den String setzen, direkt vor dem Anfangszeichen:
print(r"Sammy says,\"The balloon\'s color is red.\"")
Sammy says,\"The balloon\'s color is red.\"
Durch die Konstruktion eines Rohstrings, indem man r vor einem gegebenen String verwendet, können wir die Backslashes und andere Zeichen beibehalten, die als Escape-Zeichen verwendet werden.
##Fazit
Dieses Tutorial hat mehrere Möglichkeiten zur Formatierung von Text in Python 3 behandelt, indem wir mit Zeichenfolgen gearbeitet haben. Durch den Einsatz von Techniken wie Escape-Zeichen oder Rohzeichenfolgen können wir sicherstellen, dass die Zeichenfolgen unseres Programms korrekt auf dem Bildschirm angezeigt werden, damit der Endbenutzer den gesamten Ausgabetext leicht lesen kann.
Fahren Sie fort, mehr über Strings zu lernen, indem Sie sich die folgenden Tutorials ansehen:
- Eine Einführung in String-Funktionen
- Wie man Strings indiziert und schneidet
- Wie man String-Formatter verwendet