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
\) et implicite (à l'intérieur de délimiteurs).| Type | Mécanisme | Délimiteurs | Recommandé ? |
|---|---|---|---|
| Explicite | Caractè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) # 45Exemple n°2 — Continuation implicite avec ()
a = (1 + 2 + 3 +
4 + 5 + 6 +
7 + 8 + 9)
print(a) # 45() 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)['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 3Indentation 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.
: et se termine à la première ligne moins indentée.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'indentation0 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)IndentationErroret empêche l'exécution du programme :for i in range(3):
print(i) # ❌ IndentationError: expected an indented blockCommentaires 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.
| Type | Syntaxe | Usage |
|---|---|---|
| Commentaire en ligne | # texte | Expliquer une ligne ou une expression |
| Commentaire multiligne | # ligne1 / # ligne2 | Explication 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 + bExemple n°10 — Commentaire multiligne avec guillemets triples
"""
Fichier : calcul.py
Auteur : Mostafa ESSADDOUKI
Date : 2024
Description : Module de calculs mathématiques
"""
a = 5- ✅ 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 1avanti += 1. - ❌ Ne pas laisser de code commenté en production — utiliser un gestionnaire de versions (Git).
Docstrings en Python
__doc__.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__)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)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 """ | |
|---|---|---|
| But | Expliquer le code au développeur | Documenter l'API pour les utilisateurs |
| Accessible via | Lecture du code source uniquement | obj.__doc__ ou help(obj) |
| Ignoré par Python ? | ✅ Complètement | ❌ Stocké comme attribut de l'objet |
| Emplacement | N'importe où dans le code | Première instruction du bloc uniquement |
| Outils compatibles | — | Sphinx, PyDoc, IDE, help() |
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.