Das musst du bei Zeilenumbrüchen in Python beachten!

von: Konstantin

aktualisiert: Oct. 15, 2024

In diesem Artikel zeige ich dir, was du bei Zeilenumbrüchen in Python beachten musst, denn Zeilenumbrüche sind ein wichtiger Bestandteil eines sauberen und gut strukturierten Codes. Außerdem zeige ich dir wie du Zeilenumbrüche in Strings einfügst!

1. Zeilenumbruch bei langen Codezeilen

Lange Codezeilen können schnell unübersichtlich werden. Deshalb ist es wichtig, sie sinnvoll zu strukturieren und Code auf mehrere Zeilen aufzuteilen. Das verbessert die Lesbarkeit deines Codes. Laut dem offiziellen Style-Guide von Python (PEP-8) sollte die Zeilenlänge auf 79 Zeichen begrenzt sein.

Eine Möglichkeit, um Code aufzuteilen aber dem Interpreter mitzuteilen, dass der Code wie ein Einzeiler gelesen werden soll ist der Backslash ( \ ). Setze den Backslash nach dem Operator. 

Ergebnis = 10 + 20 + 30 + \
           40 + 50 + 60
           
print(Ergebnis)

# Ausgabe: 210

Als Alternative kannst du den Code über mehrere Zeilen verteilen und anschließend mit Klammern zusammenfassen. Dadurch kannst du dem Python Interpreter mitteilen, dass der Code als Einheit interpretiert werden soll.

Ergebnis = (10 + 20 + 30 + 
           40 + 50 + 60)

print(Ergebnis)

# Ausgabe: 210

Backslash und Klammern funktionieren natürlich auch bei komplizierterem Code. Schau dir das Beispiel unten genauer an. Hier habe ich zwei Versionen der gleichen Funktion erstellt. Variante 1 funktioniert mit Backslash und Variante 2 funktioniert mit Klammern. 

# Variante 1 --> Mit Backslash

def mehrere_bedingungen(alter, einkommen, kredit_score, wohnort, schulden, beruf):
    if alter > 25 and einkommen > 50000 and kredit_score > 700 and \
        wohnort in ["Stadt A", "Stadt B", "Stadt C"] and schulden < 10000 and \
        beruf in ["Ingenieur", "Arzt", "Wissenschaftler"]:
        
        print("Bedingungen erfüllt")
    else:
        print("Bedingungen nicht erfüllt.")


mehrere_bedingungen(30, 60000, 750, "Stadt A", 5000, "Ingenieur")

# Ausgabe: Bedingungen erfüllt

#--------------------------------------------------------------------------------

# Variante 2 --> Mit Klammern

def mehrere_bedingungen(alter, einkommen, kredit_score, wohnort, schulden, beruf):
    if (alter > 25 and einkommen > 50000 and kredit_score > 700 and 
        wohnort in ["Stadt A", "Stadt B", "Stadt C"] and schulden < 10000 and 
        beruf in ["Ingenieur", "Arzt", "Wissenschaftler"]):
        
        print("Bedingungen erfüllt")
    else:
        print("Bedingungen nicht erfüllt.")


mehrere_bedingungen(30, 60000, 750, "Stadt A", 5000, "Ingenieur")

# Ausgabe: Bedingungen erfüllt

In Funktionen nutzt du Klammern, um Argumente an die Funktion zu übergeben. Hier musst du keine gesonderte Klammer setzen und kannst den Code einfach über mehrere Zeilen verteilen.

def funktion(a, b, c, d, e):
    return a + b + c + d + e

Ergebnis = funktion(10, 20, 30,
                    40, 50)

print(Ergebnis)

# Ausgabe: 150

Auch wenn du längere Listen oder Dictionaries initialisierst bietet es sich an, den Code sinnvoll über mehrere Zeilen zu verteilen. Gerade für Dictionaries ist das eigentlich Standard. Hier musst du nichts weiter beachten. Gehe einfach wie im nachfolgenden Beispiel vor. 

# Ein Dictionary, dass gut lesbar 
# über mehrere Zeilen verteilt wurde

staedte_info = {
    "Berlin": "Deutschland",
    "Paris": "Frankreich",
    "New York": "USA",
    "Tokio": "Japan",
    "Sydney": "Australien",
    "Rio de Janeiro": "Brasilien"
}

2. Nutze Zeilenumbrüche, um Strings lesbarer zu machen

Die Lesbarkeit von Strings - insbesondere von sehr langen Strings - kannst du ebenfalls mit gut platzierten Zeilenumbrüchen erhöhen. Damit bleibt deine Eingabe übersichtlich und du musst nicht hin und her scrollen, um den kompletten String zu sehen! Übrigens: Kommentare und Docstrings sollten laut PEP-8 maximal 72 Zeichen lang sein. 

Du hast drei Möglichkeiten, um Strings über mehrere Zeilen zu verteilen:

  • Den Backslash (\)
  • Klammern
  • Dreifache Anführungszeichen (''' oder """)

Verwendest du den Backslash, so kannst du die Eingabe des Strings auf mehrere Zeilen verteilen, die Ausgabe erfolgt jedoch in einer Zeile:

text = "Dies ist ein langer String, \
der in mehrere Zeilen aufgeteilt wurde."

print(text)

# Ausgabe:
# Dies ist ein langer String, der in mehrere Zeilen aufgeteilt wurde.

Alternativ kannst du Klammern verwenden, um lange Strings zu schreiben und über mehrere Zeilen zu verteilen. Python verbindet automatisch alle Strings, die innerhalb von runden Klammern () stehen. Auch in diesem Fall wird der ausgegebene Text in eine Zeile geschrieben. Hinweis: Aus Gründen der Lesbarkeit habe ich ein Stück der Ausgabe gekürzt. 

text = ("Dies ist ein langer String, "
        "der auf diese Weise in mehrere Zeilen "
        "aufgeteilt wurde "
        "und vom Python Interpreter "
        "automatisch zusammengefügt wird.")
        
print(text)

# Ausgabe:
# Dies ist ein sehr langer String, der [...] zusammengefügt wird.

Wenn es für dich wichtig ist, dass alle Zeilenumbrüche erhalten bleiben, solltest du auf die letzte Möglichkeit zurückgreifen und dreifache Anführungszeichen verwenden. Hier bleiben alle Zeilenumbrüche erhalten. 

text = """Dies ist ein langer String,
der über mehrere Zeilen hinweg geschrieben wurde.
Alle Zeilenumbrüche werden beibehalten."""

print(text)

# Ausgabe:
# Dies ist ein langer String,
# der über mehrere Zeilen hinweg geschrieben wurde.
# Alle Zeilenumbrüche werden beibehalten.

Bis jetzt habe ich dir hauptsächlich erklärt wie du Zeilenumbrüche im Python Code verwendest, um den Code lesbarer zu machen. Zeilenumbrüche sind aber auch wichtig, wenn du Strings oder Text z.B. mit print() ausgeben willst. Hier verwendest du hauptsächlich das Escape-Zeichen \n für Zeilenumbrüche (n steht für "new line"). Stell dir \n einfach wie die Enter-Taste auf der Tastatur vor. Wenn du diesen Code ausführst, siehst du, dass der Text in zwei Zeilen ausgegeben wird:

text = "Das ist eine Zeile.\nUnd das ist eine neue Zeile."
print(text)

# Ausgabe:

Das ist eine Zeile.
Und das ist eine neue Zeile.

Du kannst \n direkt in einen String schreiben. Es funktioniert auch, wenn du ihn mit anderen Escape-Zeichen kombinierst, z. B. \t für Tabulatoren. Eine ausführliche Beschreibung aller dieser Escape-Zeichen findest du in meinem Python-Kurs.

3.1. Absätze in Text einfügen

Wenn du längere Texte hast, willst du oft Absätze machen. Nutze einfach mehrere \n hintereinander, um einen Abstand zu erzeugen:

text = "Absatz 1\n\nAbsatz 2"
print(text)

# Ausgabe:

Absatz 1

Absatz 2

3.2. Zeilenumbrüche in Textdateien

Zeilenumbrüche fügst du in Textdateien ebenfalls mit \n ein. Wenn du die Datei öffnest, siehst du den Text genau so, wie du ihn formatiert hast. Im Beispiel siehst du wie zwei Zeilen und ein Absatz in die Textdatei eingefügt werden:

with open("textdatei.txt", "w") as datei:
    datei.write("Zeile1\nZeile2\n\nAbsatz 2")

3.3. Formatierung mit dreifachen Anführungszeichen

Wie du weiter oben schon gesehen hast, kannst du auch dreifache Anführungszeichen verwenden, um Zeilenumrüche in Strings einzufügen. Das schöne an dieser Variante: du formatierst den Text bereits bei der Eingabe und kannst auf die \n Escape-Zeichen verzichten. Damit wird dein String gleich besser lesbar! Schau dir das mal hier an:

text = """Dies ist ein langer String,
der über mehrere Zeilen hinweg geschrieben wurde.
Alle Zeilenumbrüche werden beibehalten.

Auch einen Absatz kannst du so einfügen"""

print(text)

# Ausgabe:
# Dies ist ein langer String,
# der über mehrere Zeilen hinweg geschrieben wurde.
# Alle Zeilenumbrüche werden beibehalten.
#
# Auch einen Absatz kannst du so einfügen

4. Fazit

Zeilenumbrüche sind essentiell für eine gute Strukturierung deines Codes und die Formatierung von Strings. Hier nochmal das Wichtigste in Kürze:

  • Halte deinen Code lesbar: Setze Zeilenumbrüche dort, wo sie die Lesbarkeit erhöhen, aber vermeide unnötige Unterbrechungen. Eine Codezeile sollte maximal 79 Zeichen lang sein. 
  • Nutze Formatierungstools: Code-Editoren oder IDEs mit Syntax-Highlighting wie etwa PyCharm oder VS Code helfen dir, deinen Code zu formatieren und halten ihn so übersichtlich. VS Code kannst du mit entsprechenden Erweiterungen zusätzlich aufpeppen.
  • Achte auf Syntaxfehler: Überprüfe deinen Code auf typische Fehler wie vergessene Backslashes oder unbeabsichtigte Leerzeichen.
  • Lesbarkeit von Strings: Verwende Klammern oder den Backslash, um Strings bei der Eingabe auf mehrere Zeilen aufzuteilen.
  • Zeilenumbrüche in Strings: Verwende das Escape-Zeichen \n um Zeilenumbrüche bei der Ausgabe einzufügen.
  • Dreifache Anführungszeichen: Mit dreifachen Anführungszeichen, kannst du deinen String bei der Eingabe formatieren und Zeilenumbrüche setzen. Diese bleiben in der Ausgabe erhalten!

Gut gesetzte Zeilenumbrüche gehören zu sauberem Code dazu. Willst du wissen, wie du deine Coding-Skills weiter verbesserst, dann schau dir doch meine Blogartikel zu Kommentaren in Python oder Clean Code an. Falls du gerade erst mit dem Programmieren beginnst, ist mein kostenloser Python Kurs für dich vielleicht von Interesse.

Teilen: