Commentaires du code en python- Docstring

DéfinitionCommentaire sur une seule ligne

En python les commentaires sont précédés du symbole #

1
import numpy as np
2
#la librairie numpy est importée. Les fonctions de numpy devront être précédées de np.

DéfinitionCommentaire sur plusieurs lignes

Pour écrire un commentaire sur plusieurs lignes, il doit être précédé de 3 symboles """ et se terminer par 3 symboles ".

1
import numpy as np
2
"""
3
La librairie numpy est importée. 
4
Les fonctions de numpy devront être précédées de np.
5
"""

Définitiondocstring ou chaîne de documentation

Une docstring est un commentaire présent au début d'un fichier, d'une fonction ou d'une classe. Ce commentaire peut être sur ou plusieurs lignes et doit décrire l'usage du module, de la fonction ou de la classe.

Aucun saut de ligne n'est toléré entre la définition et le commentaire

Exemple

1
# Author: Laurent Berger 
2
# Contact: laurent.berger@univ-lemans.fr
3
4
"""
5
Organisation du code source pour répondre aux bonnes pratiques
6
"""
7
8
def ma_fonction(para1, para2, para3):
9
    """
10
    fonction calculant la somme du premier et deuxième paramètres,
11
    du premier et troisième paramètre,
12
    du deuxième et troisième,
13
    des trois paramètres
14
    Argument:
15
    para1 -- nombre
16
    para2 -- nombre
17
    para3 -- nombre
18
    """
19
    return para1 + para2, para1 + para3, para2 + para3, para1 + para2 + para3
20
if __name__ == '__main__':
21
    print(ma_fonction(1, 2, 3))
22
    print(ma_fonction(1, para3=3, para2=2))
23

Lorsque la commande help avec entre parenthèses le nom de la fonction, la chaîne de documentation est affichée.

RemarqueUsage __name == '__main__'

Dans le programme précédent on utilise l'expression if __name__ == '__main__': pour indiquer où commence le programme principal. Ceci n'est pas obligatoire, mais fortement recommandé.

L'usage de if __name__ == '__main__': permet d'avoir un code source plus lisible.

Attention

Il ne faut utiliser dans un code source python une seule fois le test if __name__ == '__main__':