Bonnes pratiques en programmation python Comment présenter du code en Python ?


La communauté qui fait évoluer le langage Python publie régulièrement des propositions d’améliorations concernant le langage Python : 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. Quelques-unes de ces recommandations sont présentées ici.

Le respect de ces recommandations permet de faciliter la lecture du code et de partager une syntaxe commune.

À noter : Le logiciel Mu comporte un outil de vérification du code qui applique rigoureusement les recommandations de la PEP8.

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.

Exemples : compteur, mon_tableau, f(x), seuil(n)

Constantes

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

Classes

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

Exemples : PolygoneRegulier

Remarque :

  • 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) 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 :

  1. compteur = 0
  2. compteur = compteur + 1
  3. compteur += 1
  4. x = 2*x + 1

Télécharger

Ne pas utiliser d’espace autour du signe = lorsqu’il sert à donner une valeur à un paramètre d’une fonction.

Exemples :

  1. ma_liste = [1, 52, 23]
  2. ma_liste_decroissant = sorted(ma_liste, reverse=True)

Télécharger

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 :

  1. ma_fonction(x)
  2. mon_dictionnaire = {"valeur": 42, "type": "réponse"}
  3. ma_liste = ['a', 'ab', 'ac']
  4. ma_liste[0]
  5. mon_dictionnaire["valeur"]

Télécharger

Voici un exemple de code ne respectant pas ces recommandations, édité dans l’éditeur Mu, et l’affichage obtenu lors de la vérification du code.

5. 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.

Exemple :

  1. def est_premier(nombre):
  2.     """  
  3.    nombre est un entier naturel
  4.    est_premier(nombre) vaut True si nombre est premier, et False sinon
  5.    """
  6.     # contenu de la fonction

Télécharger

Partager

Imprimer cette page (impression du contenu de la page)