Conventions de nommage Python (PEP 8) : La référence définitive
PEP 8 est le guide de style officiel de Python, et ses conventions de nommage sont suivies par pratiquement tous les projets Python. Ce guide couvre toutes les règles que vous devez connaître.
Pourquoi PEP 8 est important
Python met l'accent sur la lisibilité. PEP 8 garantit que le code écrit par différents développeurs a le même aspect. Des linters comme flake8, pylint et ruff appliquent ces conventions automatiquement.
Noms de variables et fonctions : snake_case
Toutes les variables et fonctions utilisent des minuscules avec des underscores :
user_name = "Alice"
total_price = 99.95
def get_user_by_id(user_id):
pass
def calculate_total_price(items):
pass
N'utilisez jamais le camelCase pour les fonctions Python. Écrire getUserById est immédiatement reconnaissable comme non-Pythonique.
Noms de classes : PascalCase
Les classes utilisent CapWords (PascalCase) :
class UserAccount:
pass
class HttpRequestHandler:
pass
Constantes : SCREAMING_SNAKE_CASE
Les constantes au niveau du module utilisent des majuscules avec des underscores :
MAX_RETRY_COUNT = 3
API_BASE_URL = "https://api.example.com"
DEFAULT_TIMEOUT = 30
Noms de modules et packages
Modules (fichiers) : courts, tout en minuscules, avec underscores si nécessaire : utils.py, data_loader.py. Packages (répertoires) : courts, tout en minuscules, sans underscores : mypackage.
Noms de méthodes et variables d'instance
Comme les fonctions — snake_case. Un underscore initial pour les méthodes internes (non publiques) :
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
Cas spéciaux
| Modèle | Convention | Exemple |
|---|---|---|
| Attribut privé | _underscore_initial | _internal_cache |
| Name mangling | __double_underscore_initial | __private_method |
| Magic / dunder | __double_des_deux_côtés__ | __init__, __str__ |
| Variable jetable | Underscore seul | for _ in range(10) |
| Variable de type | PascalCase, court | T, KT, VT |
Erreurs courantes
- Utiliser camelCase pour les fonctions (
getUserNameau lieu deget_user_name) - Utiliser des minuscules pour les noms de classes (
user_accountau lieu deUserAccount) - Utiliser ALL_CAPS pour des variables normales
- Noms de variables d'une seule lettre hors des boucles
Convertissez votre code rapidement
Vous migrez depuis JavaScript ou Java ? Utilisez notre convertisseur snake_case pour transformer rapidement les identifiants camelCase. Pour les noms de classes, essayez le convertisseur PascalCase. Le hub de conversion vous permet de comparer tous les formats d'un coup.
Résumé
Le nommage PEP 8 est simple : snake_case pour presque tout, PascalCase pour les classes, SCREAMING_SNAKE pour les constantes. Suivez ces règles et votre code Python semblera naturel à tout développeur Python.