PEP
Aller à la navigation
Aller à la recherche
| Fiche express | |
|---|---|
| Sigle | Python Enhancement Proposal |
| PEP 20 | « The Zen of Python » — philosophie |
| PEP 8 | Conventions de style de code |
| Voir aussi | Python · Rappel python |
Un PEP (Python Enhancement Proposal) est un document décrivant une évolution du langage Python ou une convention de la communauté. Deux PEP sont particulièrement structurants : la PEP 20 (philosophie) et la PEP 8 (style de code).
PEP 20 — une philosophie
Liste d'aphorismes (« The Zen of Python ») :
- le beau est préférable au laid
- l'explicite est préférable à l'implicite
- le simple est préférable au complexe
- le complexe est préférable au compliqué
- le plat est préférable à l'imbriqué
- l'aéré est préférable au compact
- la lisibilité compte
- les cas particuliers ne sont pas suffisamment particuliers pour casser la règle
- l'aspect pratique ne doit pas prendre le pas sur la pureté
- les erreurs ne devraient jamais passer silencieusement
- à moins qu'elles n'aient été explicitement réduites au silence
- en cas d'ambiguïté, résister à la tentation de deviner
- il devrait exister une (et de préférence une seule) manière évidente de procéder
- même si cette manière n'est pas forcément évidente au premier abord (à moins que vous ne soyez Néerlandais)
- maintenant est préférable à jamais
- mais jamais est parfois préférable à immédiatement
- si la mise en œuvre est difficile à expliquer, c'est une mauvaise idée
- si la mise en œuvre est facile à expliquer, ce peut être une bonne idée
- les espaces de noms sont une très bonne idée (faisons-en plus !)
PEP 8 — des conventions précises
Forme du code
- utiliser 4 espaces par niveau d'indentation
- ne jamais mélanger tabulations et espaces dans un même code
- limiter les lignes à 79 caractères ; utiliser le caractère
\pour couper une ligne - séparer par deux sauts de ligne une définition de fonction ou de classe
- séparer par une seule ligne les définitions de méthodes au sein d'une classe
- l'encodage UTF-8 est préférable à partir de Python 3.0
Directives d'importation
- une ligne par bibliothèque importée
- toujours en en-tête du fichier
- diviser les imports en 3 groupes :
- bibliothèque standard
- bibliothèques tierces
- modules du projet
Espaces dans les expressions
Oui :
spam(ham[1], {egg: 2})
if x == 4: print x, y; x, y = y, x
def fonction(parametre=5): ...
fonction(parametre=32)
Non :
spam( ham[ 1 ], { egg: 2 } )
if x == 4 : print x , y ; x , y = y , x
def fonction(parametre = 5): ...
fonction(parametre = 32)
Commentaires
- les commentaires doivent être des phrases complètes
Conventions de nommage
- éviter les
l,O,Iqui peuvent être confondus - les noms de packages doivent être des noms courts
- les noms de classes s'écrivent en CapWords (ex :
MaClasse) - les noms de variables et de fonctions en minuscules avec des
_(ex :nom_de_fonction) - les constantes en majuscules (ex :
MA_CONSTANTE)
Conventions de programmation
Oui :
if objet is None:
if isinstance(variable, str):
if booleen:
if not booleen:
Non :
if objet == None:
if type(variable) == str:
if booleen == True:
if booleen is True:
Voir aussi
- Python — sommaire du langage
- Rappel python — rappels de syntaxe