Aller au contenu

Bonnes pratiques en programmation python

Écrire un texte dans une langue nécessite le respect de règles typographiques concernant notamment l'usage des majuscules, des espaces, de la ponctuation, des paragraphes, etc.

Il en est souvent de même pour les langages, comme les langages de programmation.

Des propositions d'améliorations concernant le langage Python sont régulièrement publiées : les Python Enhancement Proposal (PEP).

L'une de ces propositions, la PEP 8 : Style Guide for Python Code, consiste en un nombre important de recommandations sur la syntaxe Python. Seules quelques-unes sont présentées ici.

1. Mise en page

  • Longueur des lignes : une ligne doit contenir 79 caractères au maximum.

  • Indentation : les blocs d'instructions sont à indenter de 4 espaces.

2. Règles de nommage

Les noms de variable, fonction ou classe ne doivent pas contenir d'accent. Les caractères autorisés sont les lettres, les chiffres et le tiret bas : _

Variables et fonctions

Les noms de variables et de fonctions sont à écrire avec des lettres minuscules et le tiret bas.

Constantes

Les noms des constantes sont à écrire avec des lettres capitales et le tiret bas.

Classes

Les noms des classes sont à écrire avec des lettres minuscules avec majuscules en début de mot.

Exemples

compteur
mon_tableau
jouer()
racine_carree(x)
CLE
NB_POINTS
MaClasse
MaSuperClasse

Info

  • Le style recommandé pour nommer les variables et les fonctions en Python est appelé snake_case.
  • Le style recommandé pour nommer les classes en Python est appelé CamelCase.

3. Espaces

Les espaces suivent la syntaxe anglo-saxonne et non française. Ainsi les caractères ;, : et , s'écrivent avec un espace après mais pas d'espace avant.

Autour des opérateurs

Il est recommandé de toujours entourer les opérateurs suivants (=, +=, -=,*=, /=, ==, !=, >=, not, in, and, or, etc.) d'un espace avant et d'un espace après l'opérateur.

Les opérateurs suivants (+, -, *, /) sont à entourer en règle générale d'un espace avant et d'un espace après l'opérateur. Lorsqu'une expression comporte des opérations de différentes priorités, on peut réserver les espaces à l'opérateur de plus faible priorité.

Exemples
compteur = 0
compteur = compteur + 1
compteur += 1
x = 2*x + 1

Autour des parenthèses

Il n'y a pas d'espace :

  • après les parenthèses, accolades et crochets ouvrants ;
  • avant les parenthèses, accolades et crochets fermants ;
  • juste avant la parenthèse ouvrante d'une fonction ou le crochet ouvrant d'une liste ou d'un dictionnaire.
Exemples
ma_fonction(x)
mon_dictionnaire = {"valeur": 42, "type": "réponse"}
mon_tableau = ('a', 'ab', 'ac')
mon_tableau[0]
mon_dictionnaire["valeur"]     

4. Docstrings

Une docstring (« chaîne de documentation » en français) est un texte qui documente un élément du code comme par exemple les fonctions. Elle est située en début de définition, indentée comme le code, et se compose de trois guillemets ouvrants, puis du commentaire rédigé sous forme de phrases complètes et enfin de trois guillements fermants. Toutes les fonctions et classes devraient disposer d'une docstring.

Exemples
def est_premier(nombre): 
    """   
    nombre est un entier
    est_premier(nombre) vaut True si nombre est premier, et False sinon 
    """  
    ...