Python-Namenskonventionen (PEP 8): Die definitive Referenz
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
| Muster | Konvention | Beispiel |
|---|---|---|
| Privates Attribut | _einzelner_führender_Unterstrich | _internal_cache |
| Name Mangling | __doppelter_führender_Unterstrich | __private_method |
| Magic / Dunder | __beidseitig_doppelt__ | __init__, __str__ |
| Wegwerfvariable | Einzelner Unterstrich | for _ in range(10) |
| Typvariable | PascalCase, kurz | T, KT, VT |
Häufige Fehler
- camelCase für Funktionen (
getUserNamestattget_user_name) - Kleinbuchstaben für Klassennamen (
user_accountstattUserAccount) - 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.