Python-Namenskonventionen (PEP 8): Die definitive Referenz

6 Min. Lesezeit

PEP 8 ist Pythons offizieller Styleguide, und seine Namenskonventionen werden von praktisch jedem Python-Projekt befolgt. Dieser Guide deckt alle Regeln ab, die Sie kennen müssen.

Warum PEP 8 wichtig ist

Python betont Lesbarkeit. PEP 8 stellt sicher, dass Code verschiedener Entwickler gleich aussieht und sich gleich anfühlt. Linter wie flake8, pylint und ruff erzwingen diese Konventionen automatisch.

Variablen- und Funktionsnamen: snake_case

Alle Variablen und Funktionen verwenden Kleinbuchstaben mit Unterstrichen:

user_name = "Alice"
total_price = 99.95

def get_user_by_id(user_id):
    pass

def calculate_total_price(items):
    pass

Verwenden Sie niemals camelCase für Python-Funktionen. getUserById zu schreiben ist sofort als nicht-pythonisch erkennbar.

Klassennamen: PascalCase

Klassen verwenden CapWords (PascalCase):

class UserAccount:
    pass

class HttpRequestHandler:
    pass

Konstanten: SCREAMING_SNAKE_CASE

Konstanten auf Modulebene verwenden Großbuchstaben mit Unterstrichen:

MAX_RETRY_COUNT = 3
API_BASE_URL = "https://api.example.com"
DEFAULT_TIMEOUT = 30

Modul- und Paketnamen

Module (Dateien): kurz, alles kleingeschrieben, bei Bedarf mit Unterstrichen: utils.py, data_loader.py. Pakete (Verzeichnisse): kurz, alles kleingeschrieben, ohne Unterstriche: mypackage.

Methodennamen und Instanzvariablen

Wie Funktionen — snake_case. Ein einzelner führender Unterstrich für interne (nicht-öffentliche) Methoden:

class User:
    def __init__(self, name):
        self.user_name = name
        self._internal_id = generate_id()

    def get_display_name(self):
        return self.user_name

    def _validate(self):
        pass

Spezialfälle

MusterKonventionBeispiel
Privates Attribut_einzelner_führender_Unterstrich_internal_cache
Name Mangling__doppelter_führender_Unterstrich__private_method
Magic / Dunder__beidseitig_doppelt____init__, __str__
WegwerfvariableEinzelner Unterstrichfor _ in range(10)
TypvariablePascalCase, kurzT, KT, VT

Häufige Fehler

  • camelCase für Funktionen (getUserName statt get_user_name)
  • Kleinbuchstaben für Klassennamen (user_account statt UserAccount)
  • ALL_CAPS für reguläre Variablen
  • Einbuchstabige Variablennamen außerhalb von Schleifen

Code schnell konvertieren

Migrieren Sie von JavaScript oder Java? Verwenden Sie unseren snake_case-Konverter, um camelCase-Bezeichner schnell umzuwandeln. Für Klassennamen probieren Sie den PascalCase-Konverter. Im Konvertierungs-Hub können Sie alle Formate auf einen Blick vergleichen.

Zusammenfassung

PEP-8-Benennung ist einfach: snake_case für fast alles, PascalCase für Klassen, SCREAMING_SNAKE für Konstanten. Befolgen Sie diese Regeln und Ihr Python-Code fühlt sich für jeden Python-Entwickler natürlich an.