Weiter zum Inhalt

6 Python Best Practices für besseren Code

Entdecke die besten Python-Coding-Praktiken für erstklassige Skripte.
Aktualisiert 18. Sept. 2026  · 13 Min. lesen

Mit KI erkunden

ChatGPTClaudePerplexity

Programmieren ist die Kunst, Anweisungen – auch Algorithmen genannt – so zu formulieren, dass ein Computer eine bestimmte Aufgabe ausführt. Um mit Computern zu kommunizieren, nutzen Entwickler Programmiersprachen.

Wie natürliche Sprachen wie Englisch, Russisch oder Quechua bestehen Programmiersprachen aus einem festgelegten Satz syntaktischer und semantischer Regeln, die die Grundlage für die Kommunikation bilden. Zwar sind natürliche Sprachen komplexer, flexibler und dynamischer, doch diese Eigenschaften gelten in gewissem Maß auch für Programmiersprachen. 

Sogar den einfachsten Algorithmus kannst du auf viele verschiedene Arten schreiben. Ein gewisser Spielraum ist beim Coden wünschenswert, kann aber Effizienz und Verständlichkeit beeinträchtigen – besonders, wenn mehrere Personen am Code arbeiten.

Lesbarkeit ist daher ein zentraler Aspekt beim Schreiben von Code. Damit alle Entwickler dieselbe Linie fahren, haben die meisten Programmiersprachen eigene Codierstandards entwickelt. Diese Leitfäden liefern Empfehlungen und Best Practices für gut lesbaren, wartbaren und skalierbaren Code. 

In diesem Artikel schauen wir uns Best Practices für Python an, eine der beliebtesten Sprachen in der Data Science. Die folgenden Empfehlungen basieren größtenteils auf PEP 8, dem Standardleitfaden für das Schreiben von Python-Code.

Sieh dir unseren Artikel oder den Kurs Introduction to Python an, um mehr über die Einsatzmöglichkeiten von Python zu erfahren. 

Was ist PEP 8?

„Code wird viel häufiger gelesen als geschrieben. Code sollte daher immer so geschrieben werden, dass er gut lesbar ist.“ – Guido van Rossum, der Erfinder von Python

PEP 8 ist ein Styleguide für Python-Code. Er wurde 2001 von Guido van Rossum, Barry Warsaw und Nick Coghlan verfasst und enthält Empfehlungen für besser lesbaren und konsistenteren Code. Abgedeckt wird alles – von der Benennung von Variablen bis zur maximalen Zeilenlänge. 

PEP steht für Python Enhancement Proposal. Ein PEP ist ein Dokument, das neue vorgeschlagene Features für Python beschreibt und Aspekte wie Design und Stil dokumentiert.

PEP 8 ist nicht verpflichtend, wird aber von großen Teilen der Python-Community genutzt. Es ist daher sehr ratsam, die Richtlinien zu befolgen. So verbesserst du auch dein Profil als professionelle:r Programmierer:in. 

Trotz der breiten Akzeptanz passt PEP 8 nicht in jedem Fall. In solchen Situationen definieren Unternehmen oft eigene Konventionen.

Python von Grund auf lernen

Beherrsche Python für Data Science und erwerbe gefragte Fähigkeiten.
Kostenloses Lernen Beginnen

Python Best Practices 

1. Python-Best-Practices für Codequalität

Lesbarer und strukturierter Code macht den Unterschied – und kann deine Karrierechancen deutlich verbessern. Auch wenn Coden für Einsteiger mechanisch und komplex wirkt, gilt: Coden ist eine Kunst

Es gibt viele Tipps, mit denen du die Codequalität in Python steigerst. Hier sind einige der wichtigsten.

Die Tyrannei der Einrückung

Einrückung bezeichnet die Leerzeichen am Anfang einer Codezeile. In vielen Sprachen dient sie nur der Lesbarkeit, in Python ist sie Pflicht. Python nutzt Einrückungen, um Codeblöcke zu kennzeichnen. Genauer: vier aufeinanderfolgende Leerzeichen pro Einrückebene, wie im folgenden Code:

for number in [1,2,3,4]:
    if number % 2 == 0:
        print(number)
    else:
        continue

Maximale Zeilenlänge

PEP 8 empfiehlt, Zeilen auf maximal 79 Zeichen zu begrenzen. Kürzere Zeilen sind leichter zu lesen – und erlauben es dir, mehrere Dateien nebeneinander zu öffnen.

Leere Zeilen

Umschließe Funktions- und Klassendefinitionen auf Top-Level mit zwei Leerzeilen. Methoden innerhalb einer Klasse werden mit einer Leerzeile umschlossen. Zusätzliche Leerzeilen können (sparsam) eingesetzt werden, um thematisch verwandte Funktionsgruppen zu trennen. Setze auch innerhalb von Funktionen (sparsam) Leerzeilen für logische Abschnitte. 

Linters und Auto-Formatter nutzen

Codequalität braucht Zeit. Auf jedes Detail zu achten, ist anspruchsvoll und zeitraubend. Zum Glück helfen uns Tools – insbesondere Linters und Formatter –, die Codequalität sicherzustellen. 

Linters führen statische Analysen des Quellcodes durch und prüfen semantische Unstimmigkeiten. Formatter sind ähnliche Tools, die Abstände, Zeilenlängen, Argument-Positionen usw. anpassen, damit dein Code in verschiedenen Dateien oder Projekten konsistent aussieht. Für Python gibt es eine Fülle an Lintern und Formattern.

Grundprinzipien im Blick behalten

Manche der genannten Regeln sind klar, doch gutes Coden ist oft auch eine Frage von Stil und Intuition. Um zum Code-Künstler zu werden, solltest du die Prinzipien hinter Python kennen. Ein großartiges Beispiel sind die Zen of Python, die wir in einem eigenen Artikel beleuchten.  

2. Best Practices für Logging in Python

Logging dient dazu, Ereignisse zu protokollieren, die beim Ausführen einer Software auftreten. Gerade wenn Anwendungen wachsen, wird Logging zur Schlüsseltechnik für Entwicklung, Debugging, Betrieb und Performance-Tracking.  

Das logging-Modul ist seit Version 2.3 Teil der Python-Standardbibliothek und adressiert Logging-Praktiken. Es ist für die meisten Python-Entwickler die erste Anlaufstelle und wird in PEP 282 ausführlich beschrieben.

Logging ähnelt dem Einsatz von print. Ein einfacher Print liefert jedoch wenig Kontext. Logging kann dagegen Zeitstempel und Zeilennummern mitschreiben und Meldungen in Dateien, Sockets usw. ausgeben.

Zum Importieren des Moduls genügt:

import logging

Nicht jede Log-Meldung ist gleich. Das Modul unterscheidet mehrere Schweregrade:

  • NOTSET (0): Es werden alle Meldungen geloggt.
  • Debug (10): Hilfreich zur Fehlersuche im Code. 
  • Info (20): Bestätigt, dass aktuell keine Fehler vorliegen. Ein gutes Beispiel ist das Nachverfolgen des Trainingsfortschritts eines Machine-Learning-Modells. 
  • Warning (30): Weist auf ein potenzielles zukünftiges Problem hin, z. B. die Abkündigung eines Moduls oder wenig RAM. 
  • Error (40): Ein schwerwiegender Fehler im Code, etwa Syntaxfehler, Out-of-Memory oder Exceptions. 
  • Critical (50): Ein Fehler, durch den das Programm nicht mehr funktioniert oder abrupt beendet wird.
import logging
logging.info('This message is just informative')
logging.debug('My missions is to provide information about debugging.')
logging.critical("A Critical Logging Message")

Darauf aufbauend hier sechs Best Practices für Logging in Python.  

Logs statt Prints verwenden

Logs liefern Informationen ähnlich wie print, sind aber deutlich mächtiger und granularer. 

Gerade am Anfang ist der Griff zu print naheliegend. Für skalierbare, komplexe Anwendungen sind Logs jedoch die deutlich bessere und sicherere Wahl. 

Es gibt reichlich Guides und Doku – zum Beispiel dieses Logging-Tutorial von DataCamp.

Das logging-Modul nutzen 

Dieses Modul ist der Standard für die meisten Python-Entwickler. Es ist gut gepflegt und von einer großen Community getragen, die fast jede Frage schon beantwortet hat.

Log-Level bewusst wählen

Das logging-Modul bietet sechs Stufen für unterschiedliche Zwecke. Je konsequenter du sie nutzt, desto leichter lässt sich verstehen, was in deinem Code passiert.

Beim Logging Zeitstempel verwenden

Das ist ein zentrales Feature von Logs, das print fehlt. Neben dem Ort ist auch das Wann wichtig. Zeitstempel sind hier Gold wert. Nutze dafür das Standardformat ISO 8601.

Log-Dateien regelmäßig bereinigen

Verwende RotatingFileHandler-Klassen wie TimedRotatingFileHandler statt FileHandler, um alte Log-Dateien zu archivieren, zu komprimieren oder zu löschen und Speicherprobleme zu vermeiden. Diese Klassen räumen automatisch auf, sobald eine Größen- oder Zeitgrenze erreicht ist.

3. Best Practices für Kommentare in Python

Kommentare sind wichtig, um Hinweise für zukünftige Leser deines Codes zu hinterlassen. Es ist schwer, eine perfekte Kommentierweise vorzuschreiben, aber diese Leitlinien helfen: 

  • Jeder Kommentar, der dem Code widerspricht, ist schlimmer als keiner. Halte Code und Kommentare daher stets synchron, um Widersprüche zu vermeiden. 
  • Kommentare sind vollständige Sätze, der erste Buchstabe ist großgeschrieben. 
  • Schreibe Kommentare möglichst auf Englisch. Jede:r kann die Sprache frei wählen, empfohlen ist jedoch Englisch. 
  • Achte darauf, dass deine Kommentare für andere Sprecher:innen der gewählten Sprache klar und leicht verständlich sind.

Es gibt zwei Typen von Kommentaren: Blockkommentare und Inline-Kommentare. 

Ein Blockkommentar erklärt den nachfolgenden Code. Er ist in der Regel auf derselben Ebene eingerückt wie der Codeblock. Jede Zeile beginnt mit # und einem Leerzeichen, zum Beispiel:

# This is a block comment
print('Welcome to DataCamp!")

Inline-Kommentare stehen in derselben Zeile wie der Code. Sie sollten durch mindestens zwei Leerzeichen von der Anweisung getrennt sein. Wie der Blockkommentar beginnt auch der Inline-Kommentar mit einem Hash (#), gefolgt von einem Leerzeichen und dem Text. 

print ("Have you ever tried Python?") # This is an inline comment

4. Best Practices für Docstrings in Python

Ein Docstring ist ein String-Literal, das als erste Anweisung in einem Modul, einer Funktion, Klasse oder Methode steht. Docstrings werden typischerweise genutzt, um die Dokumentation automatisch zu erzeugen. Zur Laufzeit sind sie über das Spezialattribut obj.__doc__ abrufbar.

Zur Konsistenz werden Docstrings immer in drei doppelte Anführungszeichen gesetzt (""").

Es gibt einzeilige und mehrzeilige Docstrings. Einzeiler sind für wirklich offensichtliche Fälle und sollten in eine Zeile passen. Das folgende Beispiel zeigt einen Einzeiler in der Funktion multiply():

def multiply(x, y):
    """ Return the product of two numbers """
    result = x * y
    return result

Mehrzeilige Docstrings erstrecken sich über mehrere Zeilen. Sie sollten die Aufgabe des Skripts, die Syntax der Kommandozeile, Umgebungsvariablen und Dateien dokumentieren. Nutzungshinweise dürfen ausführlich sein und sollten neuen Nutzer:innen reichen, um den Befehl korrekt zu verwenden.

def calculate_salary(hours, price=20):
    """ Return the salary according to the hours worked

    Arguments:
    hours: total hours investe
    price: price of each hours worked. Minimum price is 20 dollars
    """
    salary = hours * price
    return salary

Eine ausführlichere Beschreibung von Docstrings findest du in PEP 257.

5. Best Practices für Dokumentation in Python

Kommentare helfen Mitentwicklern, deinen Code zu verstehen. Dokumentation richtet sich an die Community potenzieller Nutzer und erklärt, wie deine Software zu verwenden ist. Das ist entscheidend: So gut die Software auch ist – ohne gute Doku (oder schlimmer: ohne Doku) wird sie kaum jemand nutzen. 

Eine README-Datei gehört immer dazu, gerade bei neuen Projekten. Sie ist meist der erste Einstiegspunkt und enthält allgemeine Infos für Nutzer und Maintainer. 

Das README sollte kurz und bündig den Zweck des Projekts, die URL der Hauptquelle und Danksagungen/Contributors aufführen.

Ebenso solltest du eine setup.py bereitstellen, damit die Software bzw. Bibliothek mit Distutils, dem Standard zum Verteilen von Python-Modulen, paketiert und verteilt werden kann.

Benötigt deine Software weitere Abhängigkeiten oder Pakete, füge eine requirements.txt mit den benötigten Dependencies und Versionen hinzu.

Darüber hinaus kannst du alle Informationen ergänzen, die für Nutzer hilfreich sind – etwa Beispiele, wie dein Paket oder deine Funktionen verwendet werden. 

6. Best Practices für virtuelle Umgebungen in Python 

Um Ordnung und Konsistenz in deinen Datenprojekten zu wahren, ist es sinnvoll, für jedes neue Projekt eine virtuelle Umgebung anzulegen. 

Virtuelle Umgebungen (virtualenvs) entkoppeln und isolieren Python-Versionen sowie die für dein Projekt benötigten Bibliotheken mitsamt den passenden pip-Versionen. So können Endnutzer ihren eigenen Software-Stack unabhängig vom System verwalten. 

Zum Erstellen einer virtualenv musst du zunächst das erforderliche Paket installieren. Tippe dazu im Terminal:

pip install virtualenv

Eine neue virtuelle Umgebung erstellst du anschließend so. Wir nennen die neue Umgebung „new_venv“:

python3 -m venv /path/to/new/virtual/environment/new_venv

Python: Benennungskonventionen

Einer der häufigsten Fehler unter Python-Einsteiger:innen ist die ungünstige Benennung von Variablen, Klassen, Funktionen usw. Konsistente Namen sind entscheidend für die Lesbarkeit.

PEP 8 beschreibt die Standardbenennung in Python. Neue Module und Pakete (auch Third-Party-Frameworks) sollten diesen Standards folgen. Hat eine bestehende Bibliothek einen anderen Stil, gilt jedoch interne Konsistenz vor äußerer.

Vermeide zu allgemeine oder allzu weltfremde Namen. Außerdem müssen Bezeichner in der Standardbibliothek ASCII-kompatibel sein, wie in PEP 3131 beschrieben.

# Bad naming:
data_structure, ríos_españa, dictionary_with_countries_and_capitals
# Good naming:
user_profile, stop_words, global_emissions_df

Hier sind die gängigen Konventionen für die wichtigsten Objekttypen in Python.

  • Pakete und Module
    • Paket- und Modulnamen sind komplett kleingeschrieben.
    • Unterstriche sind nur erlaubt, wenn sie die Lesbarkeit erhöhen.
  • Klassen
    • Klassennamen folgen UpperCaseCamelCase.
    • Pythons eingebaute Klassen sind jedoch typischerweise kleingeschriebene Wörter.
  • Instanzvariablen, Methoden und Funktionen
    • Instanzvariablen sind komplett kleingeschrieben.
    • Neue Wörter werden mit Unterstrichen getrennt.
    • Nicht-öffentliche Instanzvariablen beginnen mit einem einzelnen Unterstrich.
  • Konstanten
    • Konstanten sind vollständig GROSSGESCHRIEBEN.
    • Wörter werden mit Unterstrichen getrennt.

Bezeichner

Konvention

Modul

lowercase

Klasse

CapWords

Funktionen

lowercase

Methoden

lowercase

Typparameter

CapWords

Konstanten

UPPERCASE

Paket

lowercase

Fazit

Wer Python-Best-Practices beherrscht, schreibt sauberen, effizienten und wartbaren Code. Wenn du Leitlinien zu Codequalität, Logging, Kommentaren und Dokumentation befolgst und Tools wie virtuelle Umgebungen nutzt, lassen sich Projekte leichter verwalten, gemeinsam bearbeiten und skalieren.

Wenn du deine Python-Kompetenzen weiter ausbauen willst, lohnt sich ein Blick in vertiefende Lernressourcen. Für strukturierte Unterstützung sieh dir diese Inhalte an:

Verdiene eine Python-Zertifizierung

Zeige, dass du ein arbeitsfähiger Datenwissenschaftler in Python bist

Python Best Practices: FAQs

Warum ist es wichtig, Best Practices beim Coden zu befolgen?

Um Lesbarkeit, Codequalität und Skalierbarkeit in der Softwareentwicklung sicherzustellen.

Was ist eine virtuelle Umgebung?

Eine virtuelle Umgebung trennt die Abhängigkeiten verschiedener Projekte, indem sie für jedes Projekt eine isolierte Umgebung erstellt.

Was ist PEP 8?

Ein Dokument mit Standardrichtlinien und Best Practices für das Schreiben von Python-Code.

Was ist Einrückung?

Einrückung sind die Leerzeichen am Anfang einer Codezeile. Python nutzt Einrückungen, um Codeblöcke zu kennzeichnen.

Was ist der Zen of Python?

Der Zen of Python ist eine Sammlung von 19 Leitprinzipien für das Schreiben von Programmen, die das Design von Python prägen.

Was ist ein Docstring?

Ein Docstring dokumentiert ein Python-Modul, eine Klasse, Funktion oder Methode, damit Programmierer verstehen, was sie tut, ohne die Implementierungsdetails lesen zu müssen.

Wie viele Arten von Kommentaren sind in Python üblich?

Es gibt zwei gängige Arten: Blockkommentare und Inline-Kommentare.


Javier Canales Luna's photo
Author
Javier Canales Luna
LinkedIn

Ich bin freiberufliche Datenanalystin und arbeite mit Unternehmen und Organisationen auf der ganzen Welt an Data-Science-Projekten zusammen. Ich bin auch Ausbilder für Data Science mit mehr als 2 Jahren Erfahrung. Ich schreibe regelmäßig datenwissenschaftliche Artikel in englischer und spanischer Sprache, von denen einige auf etablierten Websites wie DataCamp, Towards Data Science und Analytics Vidhya veröffentlicht wurden. Als Datenwissenschaftlerin mit einem Hintergrund in Politik- und Rechtswissenschaften ist es mein Ziel, an der Schnittstelle von Politik, Recht und Technologie zu arbeiten und die Macht der Ideen zu nutzen, um innovative Lösungen und Erzählungen voranzutreiben, die uns dabei helfen können, dringende Herausforderungen wie die Klimakrise anzugehen. Ich betrachte mich als Autodidakt, der ständig lernt und ein überzeugter Verfechter der Multidisziplinarität ist. Es ist nie zu spät, neue Dinge zu lernen.

Themen
Python

Entdecke mehr über Python mit diesen Kursen!

Kurs

Effizienten Python-Code schreiben

4 Std.
155.5K
Dieser Kurs zeigt, wie du effizienten und schnell ausführbaren Code schreibst, der Ressourcen geschickt zuweist und Mehraufwand vermeidet.
Details anzeigenRight Arrow
Kurs Starten
Mehr anzeigenRight Arrow