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 longIch 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

Das Modul textwrap ist auch nützlich, wenn Sie lange Zeichenketten ausgeben und anzeigen wollen, indem Sie sie umbrechen oder weglassen.
Wenn Sie eine Methodenkette haben, die länger als eine einzelne Zeile ist, können Sie die Zeile im Code auch umbrechen.

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://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://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 die folgenden Klammern eine Bedeutung haben.

  • {} = set
  • [] = list

Wenn Sie eine lange Zeichenkette in mehreren Zeilen schreiben, verwenden Sie daher runde Klammern ().
Wiederum unter Verwendung der Tatsache, dass mehrere Zeichenketten zu einer einzigen Zeichenkette verkettet werden können, können wir Folgendes schreiben.

s = ('https://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://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