Vidéo 8 : Code source : commentaires, espaces

\(\newcommand{\ds}{\displaystyle}\) \(\newcommand{\Frac}{\ds\frac}\) \(\renewcommand{\r}{\mathbb{ R}}\) \(\newcommand{\C}{\mathbb{ C}}\) \(\newcommand{\n}{\mathbb{ N}}\) \(\newcommand{\z}{\mathbb{ Z}}\) \(\newcommand{\Q}{\mathbb{ Q}}\) \(\newcommand{\N}{\mathbb{ N}}\) \(\newcommand{\n}{\mathbb{ N}}\) \(\newcommand{\ol}{\overline}\) \(\newcommand{\abs}[1]{\left| \,{#1} \right|}\) \(\newcommand{\pv}{\;;\;}\) \(\newcommand{\ens}[1]{\left\{ {#1} \right\}}\) \(\newcommand{\mens}[1]{\setminus\left\{ {#1} \right\}}\) \(\newcommand{\Par}[1]{\left({#1}\right)}\)

Vidéo 8 : Code source : commentaires, espaces

Placer des commentaires

Il est possible d’annoter son code-source par des commentaires personnels. Voici un exemple de code-source commenté :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
# Mon joli code


# Voici un exemple
# d'addition
a=4+2

    # on va afficher le résultat
print(a) # affichage
# affiche 6

Un commentaire Python est introduit par un caractère dièse comme ceci : # (cf. ligne 4 par exemple).

Tout ce qui suit un caractère # est un commentaire. Le code commentaire.py contient 6 commentaires.

La présence de commentaires n’a pas d’impact sur l’exécution du code et ils sont supprimés du code avant l’exécution de celui-ci. Le code ci-dessus est exactement équivalent au code suivant :

commentaires_retires.py

1
2
a=4+2
print(a)

Les commentaires sont destinés au programmeur lui-même ou à un autre programmeur qui va lire le code afin d’en expliquer certaines parties.

Indentation accidentelle

Le placement d’espaces horizontaux en début de ligne n’est autorisé que dans certaines circonstances très strictes.

En cas de non respect de ces règles, on obtient une interruption du programme :

1
2
x = 3000 - (2038 - 38)
 print("Bonjour !", x)
3
4
5
6
  File "__.py", line 2
    print("Bonjour !", x)
    ^
IndentationError: unexpected indent

Le message IndentationError signifie que des espaces en début de ligne sont mal placées.

Espacement horizontal dans le code-source

Lors de l’édition d’un code Python, le programmeur a la possibilité, pour des raisons de lisibilité par exemple, d’ajouter ou de retrancher librement des espaces dans son code.

La plupart du temps, l’ajout ou le retrait d’espaces horizontaux ne modifie pas l’exécution du code :

1
2
x = 3000 - (2038 - 38)
print("Bonjour !", x)

s’exécutera de la même façon que le code suivant

1
2
x                 =              3000         - (     2038-38             )
print    (  "Bonjour !"    ,           x)

Tous les deux affichent :

1
Bonjour ! 1000

On peut placer des espaces autour :

  • des opérateurs (+, -, etc),
  • des séparateurs (parenthèses, crochets, ponctuation, signe d’égalité, etc),
  • des « mots » utilisés, des nombres, des chaînes, etc

Il ne faut pas placer d’espaces aux endroits « évidents » comme :

  • entre les chiffres d’un nombre (2038 n’est pas 20 38),
  • à l’intérieur d’une chaîne ("toto" n’est pas "to to"),
  • à l’intérieur des noms de mots-clés, de fonctions ou de variables (print n’est pas pr int).

Ajout et retrait de sauts de ligne dans le code-source

Soit le code-source suivant :

saut_de_ligne.py

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
print("Coucou !")

x = 42
print(42 * 10)

for i in range(2):
    print("Bonjour")
    print("Au revoir")
    print()

print("Coucou !")

Le code d’un fichier Python se présente comme une suite de lignes. Dans saut_de_ligne.py, il a 11 lignes. Par définition, une ligne du code source se termine toujours par un « saut de ligne », créé après que le programmeur appuie sur la touche ENTER. La plupart du temps, une ligne correspond à une unique instruction Python dite instruction simple.

Ajout de lignes

Il est en général possible d’ajouter ou de supprimer des sauts de lignes ENTRE des lignes déjà existantes. Le code suivant, qui s’étend sur 20 lignes, est équivalent à saut**de**ligne.py :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
print("Coucou !")



x = 42


print(42 * 10)
for i in range(2):


    print("Bonjour")


    print("Au revoir")

    print()
print("Coucou !")

Restrictions

Néanmoins, on NE peut PAS placer une instruction simple à cheval sur deux lignes :

Ainsi, le programme suivant est valide

1
2
x=1+2+3+4
print(x)

mais le programme suivant est invalide

1
2
3
x=1+2+
3+4
print(x)
4
5
6
    x=1+2+
          ^
SyntaxError: invalid syntax

Le découpage juste avant l’expression à évaluer est lui aussi invalide :

1
2
3
x=
1+2+3+4
print(x)
4
5
6
7
  File "_.py", line 1
    x=
     ^
SyntaxError: invalid syntax