Conventions de nommage Python (PEP 8) : La référence définitive

6 min de lecture

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èleConventionExemple
Attribut privé_underscore_initial_internal_cache
Name mangling__double_underscore_initial__private_method
Magic / dunder__double_des_deux_côtés____init__, __str__
Variable jetableUnderscore seulfor _ in range(10)
Variable de typePascalCase, courtT, KT, VT

Erreurs courantes

  • Utiliser camelCase pour les fonctions (getUserName au lieu de get_user_name)
  • Utiliser des minuscules pour les noms de classes (user_account au lieu de UserAccount)
  • 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.