Lange Textstrings auf mehreren Zeilen in Python schreiben

Geschäft

Wenn Sie einen PEP8-konformen Code-Checker wie flake8 in Python verwenden, erhalten Sie die folgende Fehlermeldung, wenn eine Zeile mehr als 80 Zeichen hat.
E501 line too long

Ich zeige Ihnen, wie Sie eine lange Zeichenkette von mehr als 80 Zeichen, z. B. eine URL, in mehrere Codezeilen aufteilen können.

  • Zeilenumbrüche mit Backslashes ignorieren (\)
  • Zeilenumbrüche können frei in Klammern gesetzt werden

Auch das Modul textwrap ist nützlich, wenn Sie lange Zeichenketten durch Umbruch oder Abkürzung ausgeben und anzeigen wollen.

Wenn die Anzahl der Zeichen in einer Zeile in einer Methodenkette länger ist als in einer langen Zeichenkette, kann die Zeile auch im Code umbrochen werden.

Zeilenumbrüche mit Backslashes ignorieren (\)

In Python ist der Backslash (\) ein Fortsetzungszeichen. Wenn er am Ende einer Zeile steht, werden nachfolgende Zeilenumbrüche ignoriert und es wird angenommen, dass die Zeile fortgesetzt wird.

n = 1 + 2 \
    + 3

print(n)
# 6

Wenn mehrere String-Literale nacheinander geschrieben werden, werden sie zu einem einzigen String verkettet, wie unten gezeigt.

s = 'aaa' 'bbb'

print(s)
# aaabbb

Kombiniert man beides, kann eine lange Zeichenkette in mehreren Codezeilen geschrieben werden, wie unten gezeigt.

s = 'https://ja.wikipedia.org/wiki/'\
    '%E3%83%97%E3%83%AD%E3%82%B0%E3%83'\
    '%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9E'

print(s)
# https://ja.wikipedia.org/wiki/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9E

Beachten Sie, dass nur String-Literale (eingeschlossen in ' oder “”) verkettet werden können und dass Variablen, die Strings enthalten, zu einem Fehler führen.

s_var = 'xxx'

# s = 'aaa' s_var 'bbb'
# SyntaxError: invalid syntax

Um Variablen miteinander oder Variablen mit String-Literalen zu verketten, verwenden Sie den Operator +.

s = 'aaa' + s_var + 'bbb'

print(s)
# aaaxxxbbb

Auch wenn sie durch einen Backslash (\) getrennt sind, ist der Operator + erforderlich, um Variablen zu verketten.

s = 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'\
    + s_var\
    + 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'

print(s)
# aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxxxbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb

Zeilenumbrüche können frei in Klammern gesetzt werden

In Python können Sie Zeilen innerhalb der folgenden Klammern frei umbrechen. Sie können diese Regel verwenden, um lange Textabschnitte in Klammern einzuschließen.

  • ()
  • {}
  • []

Beachten Sie, dass einige Klammern auf andere Art und Weise verwendet werden, wie unten gezeigt, verwenden Sie daher runde Klammern () für diese Verwendung.

  • {}Satz: Satz
  • []: Liste

Wiederum unter Verwendung der Tatsache, dass mehrere Zeichenketten zu einer einzigen Zeichenkette verkettet werden können, können wir Folgendes schreiben

s = ('https://ja.wikipedia.org/wiki/'
     '%E3%83%97%E3%83%AD%E3%82%B0%E3%83'
     '%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9E')

print(s)
# https://ja.wikipedia.org/wiki/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9E

Wie in dem Beispiel mit dem Backslash ist der Operator + erforderlich, wenn Variablen eingeschlossen werden.

s = ('aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
     + s_var
     + 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb')

print(s)
# aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxxxbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
Copied title and URL