Instructions, Indentation et commentaires en Python

31 Aug 2019 31 Aug 2019 13361 vues ESSADDOUKI Mostafa 6 min de lecture

Instructions Python

En Python, la fin d'une instruction est marquée par un caractère de nouvelle ligne. Il est cependant possible d'étendre une instruction sur plusieurs lignes ou de regrouper plusieurs instructions sur une seule ligne.

Continuation de ligne

Définition La continuation de ligne permet d'écrire une longue instruction sur plusieurs lignes pour améliorer la lisibilité. Python propose deux formes : explicite (avec \) et implicite (à l'intérieur de délimiteurs).
TypeMécanismeDélimiteursRecommandé ?
ExpliciteCaractère \ en fin de ligne⚠️ Acceptable
ImpliciteÀ l'intérieur de délimiteurs ouverts(), [], {}✅ Préféré

Exemple n°1 — Continuation explicite avec \

a = 1 + 2 + 3 + \
    4 + 5 + 6 + \
    7 + 8 + 9
print(a)   # 45

Exemple n°2 — Continuation implicite avec ()

a = (1 + 2 + 3 +
     4 + 5 + 6 +
     7 + 8 + 9)
print(a)   # 45
Astuce — Préférer les parenthèses La continuation implicite avec () est recommandée par la PEP 8 (guide de style Python). Le \ est fragile : un espace invisible après lui provoque une erreur de syntaxe.

Exemple n°3 — Continuation implicite avec []

villes = ['Meknès',
          'Essaouira',
          'Marrakech',
          'Rabat']
print(villes)
Sortie
['Meknès', 'Essaouira', 'Marrakech', 'Rabat']

Exemple n°4 — Plusieurs instructions sur une ligne avec ;

a = 1; b = 2; c = 3
print(a, b, c)   # 1 2 3
Attention — Point-virgule déconseillé Python autorise le point-virgule pour séparer plusieurs instructions sur une ligne, mais cela nuit à la lisibilité. La PEP 8 le déconseille fortement. Réservez-le uniquement pour les cas vraiment nécessaires.

Indentation Python

Contrairement à C, C++ ou Java qui utilisent les accolades {} pour délimiter les blocs de code, Python utilise l'indentation. C'est une caractéristique fondamentale du langage : elle n'est pas optionnelle, elle est syntaxiquement obligatoire.

Définition — Indentation L'indentation est le décalage horizontal d'un bloc d'instructions par rapport au bloc qui le contient. En Python, elle définit la structure et la portée du code : un bloc commence après un : et se termine à la première ligne moins indentée.
Convention PEP 8 La convention standard recommande 4 espaces par niveau d'indentation. Les tabulations sont acceptées mais déconseillées. Ne jamais mélanger espaces et tabulations dans le même fichier.

Exemple n°5 — Indentation avec boucle et condition

for i in range(5):
    if i == 3:
        break           # 2ème niveau d'indentation
    print(i)            # 1er niveau d'indentation
Sortie
0
1
2

Exemple n°6 — Code lisible (recommandé)

for i in range(3):
    print("i = ")
    print(i)

Exemple n°7 — Code compact (déconseillé)

for i in range(3): print("i = "); print(i)
Exemple 6 vs Exemple 7 Les deux exemples produisent le même résultat, mais l'Exemple 6 est nettement plus lisible, maintenable et conforme à la PEP 8. L'Exemple 7 est syntaxiquement valide mais fortement déconseillé.
Erreur fréquente — IndentationError Une indentation incohérente lève une IndentationErroret empêche l'exécution du programme :
for i in range(3):
print(i)    # ❌ IndentationError: expected an indented block

Commentaires en Python

Les commentaires sont essentiels à la lisibilité et à la maintenabilité du code. Ils expliquent la logique pour les autres développeurs (et pour soi-même dans le futur). L'interpréteur Python ignore complètement les commentaires.

TypeSyntaxeUsage
Commentaire en ligne# texteExpliquer une ligne ou une expression
Commentaire multiligne# ligne1 / # ligne2Explication détaillée sur plusieurs lignes
Chaîne multiligne"""... ou '''...Commentaire long ou documentation (docstring)

Exemple n°8 — Commentaire sur une ligne

# Calculer la somme de deux entiers
a = 5    # variable entière
b = 3    # variable entière
print(a + b)

Exemple n°9 — Commentaire multiligne avec #

# Cette fonction calcule
# la somme de deux nombres
# et retourne le résultat
def addition(a, b):
    return a + b

Exemple n°10 — Commentaire multiligne avec guillemets triples

"""
Fichier  : calcul.py
Auteur   : Mostafa ESSADDOUKI
Date     : 2024
Description : Module de calculs mathématiques
"""

a = 5
Astuce — Bonnes pratiques de commentaires
  • ✅ Commenter le pourquoi, pas le quoi (le code s'explique lui-même).
  • ✅ Mettre un espace après le # : # bon commentaire.
  • ❌ Éviter les commentaires évidents : # incrémente i de 1 avant i += 1.
  • ❌ Ne pas laisser de code commenté en production — utiliser un gestionnaire de versions (Git).

Docstrings en Python

Définition — Docstring Une docstring (documentation string) est une chaîne de caractères placée comme première instruction d'un module, d'une fonction, d'une classe ou d'une méthode. Elle décrit ce que fait cet élément et est accessible via l'attribut __doc__.

Syntaxe Python
def nom_fonction(params):
    """Description courte sur une ligne.

    Description détaillée optionnelle sur
    plusieurs lignes si nécessaire.

    Args:
        param1 : description
        param2 : description
    Returns:
        description du retour
    """
    ...

Exemple n°11 — Docstring simple

def addition(a, b):
    """Calcule et retourne la somme de a et b."""
    return a + b

print(addition.__doc__)
Sortie
Calcule et retourne la somme de a et b.

Exemple n°12 — Docstring complète

def division(a, b):
    """Calcule la division entière de a par b.

    Args:
        a (int) : le dividende
        b (int) : le diviseur (doit être non nul)

    Returns:
        int : le quotient entier de a // b

    Raises:
        ZeroDivisionError : si b vaut 0
    """
    if b == 0:
        raise ZeroDivisionError("Le diviseur ne peut pas être 0")
    return a // b

# Afficher la documentation
help(division)
Sortie
Help on function division:

division(a, b)
    Calcule la division entière de a par b.

    Args:
        a (int) : le dividende
        b (int) : le diviseur (doit être non nul)
    ...

Commentaire #Docstring """
ButExpliquer le code au développeurDocumenter l'API pour les utilisateurs
Accessible viaLecture du code source uniquementobj.__doc__ ou help(obj)
Ignoré par Python ?✅ Complètement❌ Stocké comme attribut de l'objet
EmplacementN'importe où dans le codePremière instruction du bloc uniquement
Outils compatiblesSphinx, PyDoc, IDE, help()
Astuce — help() utilise les docstrings La fonction intégrée help() affiche automatiquement la docstring d'une fonction, d'une classe ou d'un module. C'est pourquoi bien rédiger ses docstrings est essentiel pour produire du code professionnel et facilement utilisable par d'autres développeurs.

Discussion (0)

Soyez le premier à laisser un commentaire !

Laisser un commentaire

Votre commentaire sera visible après modération.