So formatieren Sie Text in Python 3

Einführung

Da Zeichenfolgen häufig aus geschriebenem Text bestehen, gibt es viele Fälle, in denen wir möglicherweise mehr Kontrolle darüber haben möchten, wie Zeichenfolgen aussehen, um sie für den Menschen durch Interpunktion, Zeilenumbrüche und Einrückungen besser lesbar zu machen.

In diesem Lernprogramm werden einige Möglichkeiten erläutert, wie Sie mit Python-Zeichenfolgen arbeiten können, um sicherzustellen, dass der gesamte Ausgabetext korrekt formatiert ist.

String Literals

Lassen Sie uns zuerst 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 wird angezeigt, wenn wir die Funktion + print () + aufrufen und das Programm ausführen.

Im Programm "Hello, World!" Lautet das Zeichenfolgenliteral "" Hello, World! "", Während der Zeichenfolgenwert "+ Hello, World! +" Ohne Anführungszeichen lautet. Der Zeichenfolgenwert wird als Ausgabe in einem Terminalfenster angezeigt, wenn Sie ein Python-Programm ausführen.

Einige Zeichenfolgenwerte müssen jedoch möglicherweise Anführungszeichen enthalten, z. B. wenn eine Quelle zitiert wird. Da Zeichenfolgenliterale und Zeichenfolgenwerte nicht gleichwertig sind, müssen Zeichenfolgenliterale häufig zusätzlich formatiert werden, um sicherzustellen, dass die Zeichenfolgenwerte so angezeigt werden, wie wir es beabsichtigen.

Anführungszeichen und Apostrophe

Da wir in Python einfache oder doppelte Anführungszeichen verwenden können, ist es einfach, Anführungszeichen in eine Zeichenfolge einzubetten, indem doppelte Anführungszeichen in eine von einfachen Anführungszeichen eingeschlossene Zeichenfolge gesetzt werden:

'Sammy says, "Hello!"'

Oder verwenden Sie ein Possessiv-Apostroph in Anführungszeichen:

"Sammy's balloon is red."

Durch die Kombination von einfachen und doppelten Anführungszeichen können wir die Anzeige von Anführungszeichen und Apostrophen in unseren Zeichenfolgen steuern.

Mehrere Zeilen

Das Drucken von Zeichenfolgen in mehreren Zeilen kann die Lesbarkeit von Text für den Menschen verbessern. Mit mehreren Zeilen können Zeichenfolgen in sauberen und geordneten Text gruppiert, als Buchstaben formatiert oder zur Beibehaltung der Zeilenumbrüche eines Gedichts oder Liedtexts verwendet werden.

Um Zeichenfolgen zu erstellen, die sich über mehrere Zeilen erstrecken, werden dreifache einfache Anführungszeichen "" "" oder dreifache 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 dreifachen Anführungszeichen können Sie Zeichenfolgen in mehreren Zeilen drucken, um das Lesen von Text, insbesondere von langem Text, zu vereinfachen.

Escape-Charaktere

Eine andere Möglichkeit zum Formatieren von Zeichenfolgen ist die Verwendung eines * Escapezeichens *. Escape-Zeichen beginnen alle mit dem Backslash (+ \ +) in Kombination mit einem anderen Zeichen in einer Zeichenfolge, um die angegebene Zeichenfolge auf eine bestimmte Weise zu formatieren.

Hier ist eine Liste einiger der gebräuchlichen Escape-Zeichen:

Escape character How it formats

\

New line in a multi-line string

\

Backslash

'

Apostrophe or single quote

"

Double quote

\n

Line break

\t

Tab (horizontal indentation)

Verwenden Sie ein Escape-Zeichen, um die Anführungszeichen zum obigen Beispiel in Anführungszeichen hinzuzufügen. Diesmal verwenden wir jedoch doppelte Anführungszeichen:

print("Sammy says, \"Hello!\"")
OutputSammy says, "Hello!"

Durch die Verwendung des Escapezeichens "+" + "können wir doppelte Anführungszeichen verwenden, um eine Zeichenfolge einzuschließen, die Text zwischen doppelten Anführungszeichen enthält.

In ähnlicher Weise können wir das Escape-Zeichen "+" + "verwenden, um ein Apostroph in eine Zeichenfolge einzufügen, die in einfache Anführungszeichen eingeschlossen ist:

print('Sammy\'s balloon is red.')
OutputSammy's balloon is red.

Da wir jetzt das Escape-Zeichen verwenden, können wir ein Apostroph in einer Zeichenfolge verwenden, die einfache Anführungszeichen verwendet.

Wenn wir wie oben dreifache Anführungszeichen verwenden, sehen wir, dass oben und unten ein Leerzeichen vorhanden ist, wenn wir die Zeichenfolge drucken. Wir können diese Leerzeichen entfernen, indem wir die Escape-Taste "+ \ +" oben in unserer Zeichenfolge und wieder am Ende der Zeichenfolge verwenden, während der Text im Programm gut lesbar bleibt.

"""\
This multi-line string
has no space at the
top or the bottom
when it prints.\
"""

In ähnlicher Weise können wir das Escape-Zeichen "+ \ n " verwenden, um Zeilen zu unterbrechen, ohne die Taste " enter" oder "+ return" zu drücken:

print("This string\nspans multiple\nlines.")
OutputThis string
spans multiple
lines.

Wir können auch Fluchtzeichen kombinieren. Lassen Sie uns eine mehrzeilige Zeichenfolge drucken und den Tabulatorabstand für eine aufgeschlüsselte Liste einschließen. Beispiel:

print("1.\tShark\n2.\tShrimp\n10.\tSquid")
Output1.  Shark
2.  Shrimp
10. Squid

Die horizontale Einrückung mit dem Escape-Zeichen "+ \ t +" gewährleistet die Ausrichtung innerhalb der zweiten Spalte im obigen Beispiel und macht die Ausgabe für den Menschen äußerst lesbar.

Obwohl das Escape-Zeichen "+ \ n +" für kurze String-Literale gut funktioniert, ist es wichtig sicherzustellen, dass der Quellcode auch für Menschen lesbar ist. Bei längeren Zeichenfolgen wird häufig der Ansatz mit dreifachen Anführungszeichen für mehrzeilige Zeichenfolgen bevorzugt.

Escape-Zeichen werden verwendet, um Zeichenfolgen, die möglicherweise schwierig oder unmöglich zu erreichen sind, eine zusätzliche Formatierung hinzuzufügen. Wie würden Sie die Zeichenfolge "+ Sammy sagt:" Die Farbe des Ballons ist rot. "+" Ohne Escape-Zeichen konstruieren?

Rohe Saiten

Was ist, wenn wir keine spezielle Formatierung in unseren Zeichenfolgen wünschen? Beispielsweise müssen wir möglicherweise Zeichenfolgen von Computercode vergleichen oder auswerten, die den Backslash absichtlich verwenden, damit Python ihn nicht als Escape-Zeichen verwendet.

Ein * raw string * weist Python an, alle Formatierungen innerhalb eines Strings, einschließlich Escape-Zeichen, zu ignorieren.

Wir erstellen eine rohe Zeichenfolge, indem wir ein "+ r +" vor die Zeichenfolge unmittelbar vor dem Anführungszeichen setzen:

print(r"Sammy says,\"The balloon\'s color is red.\"")
OutputSammy says,\"The balloon\'s color is red.\"

Indem wir eine Rohzeichenfolge mit "+ r +" vor einer bestimmten Zeichenfolge erstellen, können wir umgekehrte Schrägstriche und andere Zeichen beibehalten, die als Escapezeichen verwendet werden.

Fazit

In diesem Lernprogramm wurden verschiedene Methoden zum Formatieren von Text in Python 3 durch Arbeiten mit Zeichenfolgen beschrieben. Durch die Verwendung von Techniken wie Escape-Zeichen oder rohen Zeichenfolgen können wir sicherstellen, dass die Zeichenfolgen unseres Programms auf dem Bildschirm korrekt wiedergegeben werden, sodass der Endbenutzer den gesamten ausgegebenen Text problemlos lesen kann.

Weitere Informationen zu Zeichenfolgen finden Sie in den folgenden Lernprogrammen: