SunuLab
Notre savoir
CoursDébutant10 min de lecture

Découverte de Python

Ton premier programme, la fonction print, et surtout : apprendre à lire une erreur sans paniquer

§1.Programmer, c'est écrire une recette

Un ordinateur ne devine rien. Il exécute des instructions, une par une, dans l'ordre où tu les as écrites, et exactement comme tu les as écrites. Programmer, c'est écrire cette suite d'instructions dans une langue qu'il comprend.

Cette langue, ici, c'est Python. Ce n'est pas un langage d'apprentissage jetable : c'est celui qu'on utilise en classe préparatoire, à l'université, dans la recherche, chez Google et à la NASA. Ce que tu vas apprendre dans ce parcours, tu le réutiliseras tel quel.

Python a une qualité rare : il se lit presque comme de l'anglais. Là où d'autres langages demandent dix lignes de cérémonie avant d'afficher un mot, Python en demande une. C'est pour ça qu'on commence par lui.

§2.L'interpréteur

Le programme qui lit ton code Python et l'exécute s'appelle l'INTERPRÉTEUR. Il prend ton fichier, lit la première ligne, l'exécute, passe à la deuxième, et ainsi de suite jusqu'à la fin.

Dans l'atelier de SunuCode, cet interpréteur tourne directement dans ton navigateur — tu n'as rien à installer. Sur un ordinateur, ce serait exactement le même principe, avec la commande python fichier.py dans un terminal.

Ton premier programme

Le voici en entier. Une ligne.

python
print("Bonjour !")
Résultat : Bonjour !

print est une FONCTION : un outil tout prêt qui fait quelque chose. Ici, elle affiche ce qu'on lui donne entre parenthèses. Ce qu'on lui donne s'appelle un ARGUMENT.

À toi

Modifie le texte entre guillemets et exécute. C'est en manipulant qu'on comprend, pas en lisant.

Chargement de l'éditeur Python…

§5.Le vocabulaire de cette première ligne

Fonction
Un outil qui porte un nom et fait un travail. On l'utilise — on dit « on l'APPELLE » — en écrivant son nom suivi de parenthèses.
Exemple. print(...) appelle la fonction print.
Argument
Ce qu'on met entre les parenthèses : la matière première sur laquelle la fonction travaille.
Exemple. Dans print("Bonjour !"), l'argument est le texte "Bonjour !".
Chaîne de caractères
Du texte, délimité par des guillemets. Les guillemets ne font PAS partie du texte : ils servent à dire à Python « ceci est du texte, pas du code ».
Exemple. "Bonjour !" est une chaîne de 9 caractères.

§6.print fait plus que ce qu'on croit

On peut lui donner plusieurs arguments, séparés par des virgules. Python les affiche à la suite, en insérant automatiquement un espace entre chacun.

Et on peut lui donner autre chose que du texte : des nombres, par exemple. Sans guillemets, cette fois — parce qu'un nombre n'est pas du texte.

Plusieurs arguments, et des nombres
python
print("J'ai", 17, "ans")
print(2 + 3)
print("2 + 3")
Résultat : J'ai 17 ans 5 2 + 3

Regarde bien les deux dernières lignes. Sans guillemets, Python CALCULE 2 + 3 et affiche 5. Avec guillemets, c'est du texte : il l'affiche tel quel, sans rien calculer. Cette différence entre une valeur et son écriture est fondamentale.

§9.Tu vas faire des erreurs. C'est normal, et c'est utile.

Aucun programmeur n'écrit du code juste du premier coup. Pas les débutants, pas les professionnels. La différence entre les deux n'est pas le nombre d'erreurs commises : c'est la vitesse à laquelle on les comprend.

Quand Python n'arrive pas à exécuter ton programme, il s'arrête et affiche un message qu'on appelle un TRACEBACK. Ce message n'est pas une punition : c'est un rapport. Il te dit trois choses — à quelle LIGNE ça a cassé, de quel TYPE d'erreur il s'agit, et un détail sur la cause.

La plupart des débutants voient ce pavé rouge et se ferment. Prends l'habitude inverse : lis-le. Il contient presque toujours la réponse.

Anatomie d'un traceback

Voici ce que Python affiche si tu écris print(Bonjour) — sans les guillemets.

text
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'Bonjour' isn't defined

Ligne par ligne : le problème vient de la LIGNE 1 ; le type d'erreur est NameError, une erreur de NOM ; et le détail précise que le nom « Bonjour » n'existe pas. Normal : sans guillemets, Python a cru que Bonjour était le nom d'une variable, et il n'en connaît aucune qui s'appelle ainsi.

§11.Les erreurs que tu vas rencontrer en premier

TypeCe que Python veut direCause typique
SyntaxErrorTa phrase n'est pas du Python valideParenthèse ou guillemet non fermé, deux-points oublié
NameErrorCe nom, je ne le connais pasFaute de frappe, ou variable utilisée avant d'être créée
TypeErrorCette opération n'a pas de sens sur ces valeursAdditionner du texte et un nombre : "3" + 5
IndentationErrorTon décalage à gauche est incohérentEspaces manquants ou en trop en début de ligne

Dans l'atelier SunuCode, ces messages te sont traduits en français, avec le traceback d'origine consultable en dessous.

Provoque une erreur

Casse ce programme volontairement, puis lis le message. Savoir provoquer une erreur pour la reconnaître ensuite est un vrai réflexe de programmeur.

Chargement de l'éditeur Python…

§13.Les commentaires

Tout ce qui suit un dièse (#) sur une ligne est ignoré par Python. Ça sert à laisser des notes : pour toi dans trois semaines, ou pour quelqu'un d'autre qui lira ton code.

Un bon commentaire n'explique pas CE QUE fait le code — ça, on le voit en le lisant. Il explique POURQUOI tu l'as écrit ainsi. « ajoute 1 à x » est inutile ; « on décale de 1 car les numéros de page commencent à 1 et pas à 0 » est précieux.

Commenter
python
# Ce programme salue l'utilisateur
print("Bonjour !")
print("Au revoir !") # un commentaire peut aussi suivre du code
Résultat : Bonjour ! Au revoir !

À retenir

  • Un programme est une suite d'instructions exécutées dans l'ordre, sans rien deviner.
  • print(...) affiche ; on peut lui donner plusieurs arguments séparés par des virgules.
  • Avec guillemets c'est du texte, sans guillemets c'est une valeur : print("2 + 3") affiche 2 + 3, print(2 + 3) affiche 5.
  • Un traceback donne la LIGNE, le TYPE de l'erreur, et sa cause. Lis-le : il contient presque toujours la réponse.
  • SyntaxError, NameError, TypeError et IndentationError couvrent la grande majorité des erreurs de débutant.
  • Le # ouvre un commentaire ; commente le POURQUOI, pas le QUOI.
Mots-cléspythonprintchaîneerreurtracebackcommentaireinterpréteur